Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Udacity Catalog Project

Table of Contents

NOTE: For security reasons the original client_secret_google.json was removed after my project was approved on Udacity. It will remain in commit history, but the secret has expired in the Google API Console.

About this project

This project was made for Udacity Full-Stack Web Developer nanodegree. The goal is to provide a catalog application in Flask with CRUD, Authentication, and Authorization with Google, and a basic API endpoint to get the entire catalog of items.



  • Categories - CRUD
  • Item - CRUD
  • Google Authentication and Authorization
  • CSRF

Getting Started

Start cloning this repository:

git clone

And choose between Vagrant or Local Environment.

Using Vagrant


Setup Vagrant environment

Inside the project folder, use this command for setup the vagrant environment:

vagrant up

This command setups the vagrant and all the requirements for the project, when you log in Vagrant, you will have the correct Python version and all the requirements.txt installed.

Enter in Vagrant environment

After setup Vagrant environment, you can log in via SSH:

vagrant ssh

Change for the correct directory

cd /vagrant

Create the database


Run the application


Using local environment


Start installing the requirements.txt

pip3 install -r requirements.txt

Create the database


Run the application


Use the following URL for open the application


Important Notes and Common Issues

  • If you are not using Vagrant, make sure of installing all the requirements in your environment.
  • The database need to be initialized before running the application
  • The database is empty, so, you need to fill up it with your data.
  • You have to open the address http://localhost:5000 in your browser because this is the only URL that Google Sign-In is authorized for run.


You can't use this project as your project for Udacity, but you can use for study purposes if you want.