Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/irsol/item-catalog-app
Udacity Fullstack Nanodegree Project: Item Catalog App
https://github.com/irsol/item-catalog-app
auth catalog database database-setup flask full-stack fullstack google-api item-catalog json json-api login-system nanodegree python python3 server sqlite-database udacity-fullstack-nanodegree udacity-nanodegree vagrant
Last synced: 27 days ago
JSON representation
Udacity Fullstack Nanodegree Project: Item Catalog App
- Host: GitHub
- URL: https://github.com/irsol/item-catalog-app
- Owner: irsol
- Created: 2018-01-23T20:46:18.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-24T06:39:40.000Z (almost 7 years ago)
- Last Synced: 2023-09-24T08:44:52.268Z (about 1 year ago)
- Topics: auth, catalog, database, database-setup, flask, full-stack, fullstack, google-api, item-catalog, json, json-api, login-system, nanodegree, python, python3, server, sqlite-database, udacity-fullstack-nanodegree, udacity-nanodegree, vagrant
- Language: Python
- Homepage: https://www.udacity.com/course/full-stack-web-developer-nanodegree--nd0044
- Size: 16.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project: Build an Item Catalog Application
## Part of Udacity Full Stack Web Developer Nanodegree Program
### Project Overview
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.### Project's files:
database_setup.py - creates the sqlite database and related tables
server.py - runs the web app
populate_database.py - inserts values to the tables created by database_setup.py
auth.py - authentication function and helper function to work with users
static - for css styles
templates - for HTML templates### Requirements
* Install Python 3, to check version: `Python --version`
* Install [Vagrant](https://www.vagrantup.com/)
* Install [Virtual Box](https://www.virtualbox.org/)
* [google Oauth Cient](https://console.developers.google.com/)### Run
* Start Terminal and navigate to the project folder.
* cd to the vagrant directory
* Launch the Vagrant VM inside Vagrant sub-directory:
using command: `vagrant up` and log in command `vagrant ssh`
* Run `python3 database_setup.py` to create sqlite database and tables.
* To populate the database run populate_database.py
* Run `python3 server.py` to run the application.
* In a web browser connect to the localhost:8000
* If your are an authenticated user (Google or Facebook sign in), you can manage categories and items.### How to use Google sign in
* Go to [Google APIs Console](https://console.developers.google.com/apis)
* Sign up or Login.
* Go to Credentials.
* Select OAuth Client ID.
* Select Web Application.
* Enter the name of your project 'My Project'.
* Set the authorized JavaScript origins `http://localhost:8000`, save changes.
* Copy the Client ID and paste it into login.html in your templates folder.
* On the consol download JSON file.
* Rename JSON file to client_secrets.json
* Put JSON file in your project's directory.
* Run your application.