Question: 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 somewhat 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?

Answer: 
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!