Final Year Project
This project is a University project for my final year of the Computer Science degree. It is a solo project developed by me, with the goal of building a web application that provides a platform for schools to manage their students, teachers, and courses. The project was developed using the Drogon C++ web framework and Cassandra database. Furthermore, the project also has a frontend built using React so that the users can interact with the platform. Both of these projects are part of the same final year project and both have been containerized using Docker and can be deployed using Docker Compose.
Deliverables
The project has the following deliverables:
- Backend: The backend of the project is built using the Drogon C++ web framework and the Cassandra database. It provides the API for the frontend to interact with.
- Frontend: The frontend of the project is built using React and provides the user interface for the platform.
- Documentation: The project has a detailed documentation that explains the architecture, the technologies used, the features, and how to deploy the project.
Note that there is a problem with the database connection from time to time, so the project might not work as expected. There are also a list of multiple accounts that can be used to login to the platform (all users are in the school 'Eton Collage'):
password | role | |
admin@gmail.com | admin | admin |
bogdan.ciurea00@gmail.com | password | teacher |
ciureabogdanalexandru@gmail.com | password | user |
Features
The project includes several features implemented by me:
- User Authentication: Secure login and registration for users.
- School Management: Allows schools to manage their students, teachers, and courses.
- Course Management: Allows schools to manage their courses and assign teachers to them.
- Teacher Management: Allows schools to manage their teachers and assign them to courses.
- Student Management: Allows schools to manage their students and assign them to courses.
- Personal TODO List: Allows users to create a personal TODO list.
- Announcements: Allows schools to create announcements for their students and teachers.
- File Upload: Allows users to upload files to the platform.
Technologies
The project was written in C++ using the Drogon web framework and the Cassandra database. The frontend was built using Next.js with TypeScript, and Chakra-UI for faster and easier elements. The project also uses Docker and Docker Compose for containerization and deployment.
Results
The project was a success, earning me a 74% final mark. Working on this project was a great learning experience for me, as it allowed me to work with new technologies and build a full-fledged web application from scratch.
Here are a couple of screenshots of the software in action: