This is our final project to conclude our CS50 journey! For our final project we decided to develop a web-based application to make event attending and socializing easier and accessible! A platform where everyone can find events nearby and book his own seat so he doesn't miss the experience!
The project is a collaboration of:
-Stavros Kostopoulos (edX username: stavroskostopoulos)
-Giannis Symeonidis (edX username: j_symeonidis)
For the backend side of our application (mostly implemented by jsy10), we used python Flask web framework. We intergrated it with SQLite3 and smptlib as our server sends an email whenever a user books a ticket. Our backend consists of several routes that serve HTTP GET requests (ex. http://127.0.0.1:5000/theater?month=September&city=Litochoro&year=2022), except the /event route that also serves HTTP POST requests, so the user's data are not included in the URL. The user's input or any inspector geek's cruelty error checking, is performed in the frontend, so we avoid excess HTTP requests.
For the frontend side of our application (mostly implemented by stavroskostopoulos), we used the ReactJS framework, alongside the MaterialUI and JoyUI component libraries.
For the requirements of this project we decided to use the SQLite database engine, which being a part of the CS50 course, was very familiar in the Python Flask Framework. Our vision is a platform full of events, of every category and interest. For our database initialization, we statically generated data of Theater, Cinema, Music and Sports events from viva.gr (a popular event booking platform in Greece).
Our database consists of an "events" table, were all our events alongside with their useful information are stored.
Considering it a challenge, we tried to copy viva.gr's user inteface, building it from scratch. The interface of the application is totally responsive, even in mobile mode!