This project is about restaurant directory, where restaurant owner can create their restaurant account and menu. The restaurant owner can add, edit and delete their restaurant and menu. Site visitors can access each restaurant and their menu. They do not have access to modify or delete any contents.
This project is a RESTful web application utilizing the Flask framework which accesses a SQL database that populates categories and their items. OAuth2 provides authentication for further CRUD functionality on the application. Currently OAuth2 is implemented for Google Accounts.
Why This Project?
Modern web applications perform a variety of functions and provide amazing features and utilities to their users; but deep down, it’s really all just creating, reading, updating and deleting data. In this project, you’ll combine your knowledge of building dynamic websites with persistent data storage to create a web application that provides a compelling service to your users.
What Will I Learn?
- Develop a RESTful web application using the Python framework Flask.
- Implementing third-party OAuth authentication.
- Implementing CRUD (create, read, update and delete) operations.
In order to run this project you'll need to install followings.
- Python ~2.7
Installing and Setup Environment
- Install Vagrant and VirtualBox
- Download or Clone fullstack-nanodegree-vm repository.
- Find the catalog folder and replace it with the content of this current repository, by either downloading or cloning it from Here.
- Launch the Vagrant VM using command:
Go to project folder by:
⋅⋅* $ cd project folder
Run the server up by:
⋅⋅* $ vagrant up
Get into server by:
⋅⋅* $ vagrant ssh ⋅⋅* $ cd /vagrant
run with python by:
⋅⋅* $ python project.py
The project implements a JSON endpoint that serves the same information as displayed in the HTML endpoints for an arbitrary item in the restaurnt.
Credit and copyright:
⋅⋅* Udacity for the base project code ⋅⋅* Bootstrap for templating.