A university project aimed at simplifying exam management and planning for the university 🥳.
Important consideration: we do not recommend using the following software as is for production environment.
Note: We recommend using IntelliJ IDEA for running the development or production environment.
In this guide, you'll find executable actions such as Run App which are clickable in IntelliJ IDEA.
It's possible to use different versions of Java, but we recommend using at least version 18. Note that some features may not be available in versions earlier than 19.
- Java 19.0.1 (openJDK)
- Maven 3.8.5
- IntelliJ IDEA 2022.3.1
- Git 2.33.0
- MySQL 8.0.31
- Operating Systems: MacOS ARM64 (13.1), Windows (10, 11)
Currently, it's not possible to modify the database configuration from a configuration file. If you cannot conform to the root user with no password on the localhost server (port 3306), you will need to modify the file src/main/java/fr/univtours/examplanner/utils/Database and change the database connection parameters.
Run the SQL script generation.sql at the root of the project.
This will create the database. Make sure you don't already have a database named exam_planner.
Run the SQL script insertion.sql at the root of the project.
This will add mock data to the database.
You will then have 3 users:
schoolingdepartmentmanager
They all have the same password as their username by default, and they all have an access type corresponding to their name.
Install the project using IntelliJ IDEA via the Run App configuration provided with the project.
Install the project using Maven
mvn resources:copy-resources
mvn dependency:copy-dependenciesWe were unable to get maven package to work. It is therefore necessary to go through IntelliJ to launch the application.
You can find the project documentation in the docs branch. You also have online documentation deployed via GitHub Pages at the following address: https://remib18.github.io/exam-planner
It is important that the database is defined and free of data to run the tests.
To run the tests, execute the Run Tests configuration provided with the project.
- Database connection
- Various CRUD operations on users
- Authentication
- User management
- Department management
- Room management
- Exam management
- Group management
- Proctor management
- Schedule management
- Integrated translation system
- Configuration file
- Data export
Note: many features have been disabled in order to provide a bug-free application.
- Time slot dates cannot be modified
- Management of exams, proctors, curricula, and subjects (normally available for "department" roles) is disabled due to bugs
- Deleting elements that have relationships with other elements will raise an error (the app won't crash) (fix: delete cascade in database)
- Rémi Bernard • @remib18
- Gabriel Galli • @KalityGabi
- Benoît Cheramy • @beubeu28
- Mya Dumas-Libre • @MyaDL
- Antonin Rathaux • @Arokiel