ClassBook is a C++ project that provides a graphical user interface (GUI) for managing student and professor data. It utilizes SFML for GUI implementation and SQLite3 for efficient database management. The project offers a login page with username and password authentication, followed by separate functionalities for students and professors.
- Users are required to provide their username and password to access the system.
- The login page verifies the credentials and grants access to the respective user roles.
- Student users have access to three main options:
- Student's Data: Provides basic information about the student.
- Grades: Displays the grades for the courses the student is attending.
- Exit: Allows the student to exit the application.
- Professor users have access to three main options:
- Professor's Data: Displays basic information about the professor.
- Gradebook: Enables the professor to assign grades.
- The gradebook lists all the courses the professor is teaching.
- Upon selecting a course, the professor can view a list of students attending that course.
- The professor can then assign grades to individual students.
- Exit: Allows the professor to exit the application.
The ClassBook project has the following dependencies:
- MinGW: version 10.3.0 is needed to compile the sfml code. This is only if you want to recompile the project.
- Makefile: it's easier to compile a lot of .cpp files with Makefile. You can compile this project without it, but I highly recommend it for it's ease of use.
Make sure to install the dependencies before compiling the project.
To run the ClassBook project on your local machine, follow these steps:
- Clone the repository to your local machine using the following command:
git clone https://github.com/tamasdd19/classBook.git- Navigate to the project directory:
cd classBook- To compile and run the project you need to use:
make run- If you just want to run the project you can just click the classBook.exe file in the main folder or use:
./classBookUpon launching the ClassBook application, you will be presented with a login page. Enter your username and password to access the system. Depending on your user role (student or professor), you will have access to different features and functionalities.
It is not connected to any server, the informations are from the database.db file in the main folder.
Navigate through the menus by clicking on the desired options. Follow the on-screen instructions to interact with the system and perform various tasks such as viewing student data, grades, professor data, and assigning grades.
For testing purposes I have created 4 users, 2 students and 2 professors. The usernames are: Student1, Student2, Prof1, Prof2 and they all have the same password, test. Feel free to try out my project!
At the moment there isn't any way to change/add/delete users/courses/etc from the database, future updates will provide an user called admin.
If you log in as the admin, an admin page will show up where you will be able to simply modify data in a GUI fashion, like the rest of the app. For now though you can only do that with an auxilary application to open the database up. I personally use this one: https://sqlitebrowser.org


