Item Catalog project is the fourth project for the Udacity Full Stack Web Developer Nanodegree Program.
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. You will learn how to develop a RESTful web application using the Python framework Flask along with implementing third-party OAuth authentication. Then you'll learn when to properly use the various HTTP methods available to you and how these methods relate to CRUD (create, read, update and delete) operations.
To accomplished this you'll develop an application that provides a list of items within a variety of categories as well as provide a user registration and authentication system. Registered users will have the ability to post, edit and delete their own items.
-
Install Vagrant and VirtualBox to install and manage virtual machine to create an enviroment to run the project.
-
Download the VM configuration zip file by Udacity OR Clone the repository from here
-
Clone this repo here to the vagrant folder that is inside
the VM configuration file that was downloaded/cloned above. -
Once the project has been setup, navigate into the project directory with 'Vagrantfile' and then
cd item-catalog-project
-
Start the virtual machine with
vagrant up
-
Connect to the virtual machine with
vagrant ssh
-
Go to the folder where the guest/host files are shared
cd /vagrant
-
Navigate to the project folder inside vagrant enviroment
cd /catalog
-
Initialize the database:
python database_setup.py
-
Populate the database with data run the command:
python manymenus.py
-
To launch the application run the command:
python project.py
-
Open the browser and go to
http://localhost:5000
If your command prompt does not start with vagrant after typing vagrant ssh
then please try the winpty vagrant ssh
on your Windows system.
Udacity Full Stack Web Developer Nanodegree
pycodestyle
https://pycodestyle.readthedocs.io/en/latest/intro.html
https://www.python.org/dev/peps/pep-0008/
PostgreSQL documentaion
https://www.postgresql.org/docs/current/index.html
Installing Vagrant on Ubuntu
https://howtoprogram.xyz/2016/07/23/install-vagrant-ubuntu-16-04/
Google Sign-In for server-side apps
https://developers.google.com/identity/sign-in/web/server-side-flow