/Catalog_Application

A web application project web application that provides a list of items within a variety of categories and integrate third party user registration and authentication.

Primary LanguageCSS

Catalog_Application

A web application that provides a list of items within a variety of categories and integrate third party user registration and authentication.

Technologies used

Flask SQLAlchemy PostgreSQL
mdb mdb mdb
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. The SQLAlchemy SQL Toolkit and Object Relational Mapper is a comprehensive set of tools for working with databases and Python. PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads.
  • Flask 1.0.2
  • SQLAlchemy 1.3
  • PostgreSQL 9.5.14
  • Vagrant
  • VirtualBox
  • HTML5, CSS3, JavaScript(ES6), Python

This web application is a project under the Udacity's Full Stack Nanodegree program.

Main features of this application

  1. Implements CRUD operations
  2. Implements OAuth(Google) to login
  3. Implements API JSON endpoints
    1. http://localhost:5000/category/[int:category_id]/item/JSON
    2. http://localhost:5000/category/[int:category_id]/item/[int:item_id]/JSON
    3. http://localhost:5000/category/JSON

Steps to run the application

Part 1

  1. Download Vagrant
  2. Download VirtualBox

Part 2

  1. Follow the steps to setup google application

Part 3

  1. Clone the repository
$ git clone https://github.com/ShardulDave/Catalog_Application.git
  1. cd into the follwing folder
$ cd [directory]/Catalog_Application/vagrant/catalog
  1. Open fb_client_secrets.json and add the App ID and App Secret into it and save it

  2. Open template/login.html and App ID where its written 'Add you App ID here' and save it

  3. Run the follwing command into the terminal

$ cd [directory]/Catalog_Application/vagrant
$ vagrant up
$ vagrant ssh
  1. Once into the vagrant machine run the following command
$ cd /vagrant/catalog
  1. Now we will need to create a database
$ psql
vagrant=> create database catalogdb
vagrant=> \q
  1. Now run the files
$ python database_setup.py
$ python app.py
  1. Now open a web browser and run http://localhost:5000/

References

Reference for the project

Reference for database setup

Citation