Interpreter: Python 3
Libraries: flask, sqlalchemy
This project was created using a VirtualBox/Vagrant with Ubuntu 16.04.3 LTS.
This repository covers the requirements for Udacity - Full Stack Web Development Item Catalog project.
The project creates a Flask application for a Catalog App.
The catalog is comprised of categories and items within such categories.
The app runs by default on localhost:8000
It relies on a SQLLite Database rendered through SQLAlchemy to perform CRUD operations.
It relies on Google Accounts for third-party authentication & authorization services.
The tasks covered by the app are:
- Display all current categories with the latest added items.
- Show category specific catalogs with all the items available for that category.
- Display information for specific items.
- After logging in, a user has the ability to add, update, or delete item information. Functions are disabled if user is not logged in. To test functions, create a new item.
- Users can only modify those items that they themselves have created.
- Provides a JSON endpoint for the entire Catalog, Category Specific Catalogs and Individual Items.
The database consists of 3 classes: User, Category, CategoryItem.
The details of each class can be found on file database_setup.py
Category and CategoryItem implement serialize
to enable jsonify.
Run the following files with the line ./<file_name>.py
or python <file_name>.py
- Database Setup: Run
database_setup.py
- Initialize Database: Run
initialize_data.py
- Run the Application: Run
application.py