Cinefile
Running on a MySQL database and a React front-end, Cinefile allows users to learn more about the films in the database, give ratings for films they have watched, and analyze data about their viewing and rating habits.
The setup
Cinefile focuses on films, their directors, festivals they debuted at, the awards they won, and tracking watched films. This project was built with MySQL, React, Node.js, and Material UI. The database is written in SQL and utilized the MySQLWorkbench. The database was built using several SQL files to contain the schema and the other procedural and functional items. After the initial creation, MySQLWorkbench was used to create a dump of the database and all related items to be used by the API and front-end.
Results
Our project provides the ability to read all films, information pertaining to a film, and the user’s watchlist from the database. It provides the ability to create new films and new instances of a watched film. The project also has the ability to update the information in 2 or delete an instance of a watched film. The user can add a Festival to a film as well. If the user wishes, they can delete their account, deleting all information pertaining to that user
Reflections
Cinefile was a simple but effective project. There to help build our database skills, the project challenged us to look at what lie behind some of our favorite websites. Hosting our own database came with challenging bugs, but ultimately ended well. This project was completed during the initial COVID-19 shutdown and was one of the first digitally-collaborative projects we had each worked on.
If we were to do it again, I would challenge us to add elements we might not be able to achieve. This project could have pushed us further, and outside of the academic setting there would be time to develop features or a database design that tested our capabilities. Long down the line, I can see the website being expanded by connecting to search engines and official sites to automatically update the site.