The Item Catalog project consists of developing an application that provides a list of items within a variety of categories, as well as provide a user registration and authentication system.
This project is a part of the Full Stack Nanodegree program at Udacity.
- Make sure you have a command-line terminal installed on your system such as GitBash or the Terminal application on macOS.
- Install Vagrant and Virtualbox.
- Download or Clone fullstack-nanodegree-vm repository.
- Launch Vagrant, instructions below.
- Clone this Git Repository inside your vagrant folder.
- To launch vagrant, navigate to the fullstack-nanodegree-vm folder and inside this folder, VagrantFile.
- Once you are in the VagrantFile directory, you can start the virtual machine using the command:
vagrant up
- Proceed to launch the VM using the following command:
vagrant ssh
And now change directory to the vagrant folder:
cd /vagrant
- First, setup the database by running the following command:
python database_setup.py
- Populate the Catalog Items by using the following command:
python database_items.py
- To launch the application, once you are in the vagrant directory, make sure you have cloned this Git repository.
- Proceed to launch the application using the following command:
python application.py
- The application will be started in the port 5000 (configured in the application), and you may view the application by going to the following webpage : http://localhost:5000
The Application implements Google Signin using OAuth2.0.
For best results, it is recommended that you are not signed into a Google Account on launching the application.
The Item Catalog implements JSON endpoints for its data. To access the JSON Endpoints, you may view them in the following URL extensions:
- Items for a given category:
localhost:5000/categories/string:category_name/JSON
For example : localhost:5000/categories/Books/JSON
- For a specific item:
localhost:5000/categories/string:category_name/string:item_name/JSON
For example: localhost:5000/categories/Books/Da Vince Code/JSON
This project was built by Rahul Rajendran for the sole purpose of completing his Full Stack Nanodegree in addition to increasing and instilling his knowledge of the Flask framework.