My first full-stack capstone project for the Springboard Software Engineering Career Track.
This app makes use of The Movie Database API for all of the movie information. The app requests data on movies searched by users and stores it in the local PostgerSQL database.
Styling was achieved using Bootstrap.
The tag statistics charts are built using Chart.js.
Other Tools Used -
- Flask
- SQL/PostgreSQL
- SQLAlchemy
- bcrypt
- WTForms
Without registering an account, users can search the database of movies and see the comments/tags left by other users.
To add content to the database, a user must register an account. New user accounts are given the role of user.
Once registered, a user can leave one comment per movie. The comment consists of a description of the content of the movie which the user considers bigoted as well as any number of tags.
All of the tags left on a movie by users are compiled into a graph on the movie's page.
Tags can be added, edited, and removed only by users with the role of admin or moderator. Roles can only be changed by admin users.
Setting up the secrets file
- You will need need an API key from The Movie Database API. Sign up for an account there to get your API key.
- Create a file named secrets.py on the same level as app.py.
- Add the following two variables to secrets.py
- TMDB_API_KEY - set this to your The Movie Database API key.
- SECRET_KEY - set this to a secret key of your choice.
Once you've added the secrets file, type the following into the Terminal in the root directory of the project -
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
createdb bimd
flask run