Project for the Databases course in Aristotle University of Thessaloniki - 2023
- Panos Syskakis
- Catherine Papadopoulou
- Nick Liouliakis
The project's main purpose is to develop an app that uses the SQL database we created in previous assignments.
The app consists of three parts:
- A MySQL database
- A REST API server (Flask)
- A web app (HTML-CSS-JavaScript using Express-NodeJs)
The web app is deployed here
For further details on how to run the API Server and the web app locally, follow the instructions in the corresponding folders.
- User authentication is not handled properly. To mimic user-specific privileges, the visibility of some front-end elements is changed depending on the user's Username, but the web scripts and the API permit all actions from every user.
- Not as efficient as it could be. For example, when creating a build, all components are fetched from the API, and the filters are only applied locally.
- The coding style is not consistent in some places.
- Not much user input validation. Issues such as SQL injection are prevented by PyMySQL, but better input validation would make the app more secure and the error messages more helpful.