I am trying to start from scratch a website that has similar functionality to grubhub.com. Fundamentally, a website where restaurant owners can come on to the website, post their menu and most importantly customers will be able to order instant delivery online which sends an email or something to the restaurant.
The problem is I have no idea where to start. I have been trying to figure out for a long time. I am familiar with HTML, CSS and somew开发者_如何学Chat familiar with PHP and MYSQL. So my question is how should I go about starting this project, how do I use the languages and where. Also, should I create a CMS from scratch or just use premade ones. If so, are there any recommendations?
I would use a premade CMS, unless i had a very solid reason not to (they did not have the functionality that i wanted). This would save you LOTS of time.
If you are familiar with PHP, MySQL, CSS and the likes, starting should not be such a problem. You first design how you want your program to work, think of the database tables and how functionality applies to each.
Then, you would create the appropriate classes that handle database models and maybe even use a template system that handles the views. Since everything starts with an index page, you may want to start there and include more and more pages as you develop more and more things.
Now, just start :)
You should consider that developing web applications without experience can lead to severe security issues.
I would recommend using a premade CMS if it provides the features that you need for your application (or makes it possible to script additional features). If that is not the case, maybe consider using a web application framework.
You should definitely not build yourself a CMS from scratch. This will take a very long time and will definitely lead HUGE security holes and total lack of scalability if you don't know what you are doing.
Take a look at this question:
https://softwareengineering.stackexchange.com/questions/46716/what-should-a-developer-know-before-building-a-public-web-site
Granted, you shouldn't need or can't know absolutely everything before building a website, but you should at least have a very solid basis.
Specially since there is so much free open source software that with little tweaking should cover your needs perfectly, it makes absolutely no sense re-inventing the wheel.
I would say go for an opensource project that suits you.
Good luck!
精彩评论