joonarafael / rotten-potatoes

Movie rating website built as a university assignment for course "Tietokannat ja web-ohjelmointi".
MIT License
0 stars 0 forks source link

Rotten Potatoes

Movie rating website built as a university assignment for course "Tietokannat ja web-ohjelmointi". All features are implemented as required by the initial software requirements specification (below).

Updates

Oct 20, 2024: All features described in this document are implemented & working as intended.

Technical Overview

Application is built with Python Flask framework. Database is PostgreSQL (run as a Docker container).

Installation Manual

Installation Manual can be found here.

Project Description

The application is a simple and limited movie rating website. User can register and login, add new movies and rate them (their own and others). Rating consists of a star rating from 1-10 and a free-form comment. When adding a movie, user must provide the movie title, category (e.g. comedy, drama, action, etc.), description and release year.

User can also delete their own ratings. User cannot delete their own movie, if someone else has rated it. User can also view other users' ratings and movies. Movies can be searched by title and filtered by category.

The application also has superusers (no registration possibility, added during database creation), who can (in addition to all the features of a regular user) delete any movies and ratings. Superusers can also change the details of any movie.

Admin Users

Pre-populated superusers:

alice:redqueen
bob:squarepants
patrick:asteroid

Pylint Style Check

Assuming Linux environment:

Run the bash script named ./pylint.sh to check the style of the Python code while in the virtual environment (read about it here). You might need to grant execution rights first with chmod u+x pylint.sh.

Read the bash script contents with cat pylint.sh - never execute scripts you don't trust!