Modern academic platforms require efficient systems to handle user registration, information management, and scheduling. Our team identified key challenges in existing solutions:
- Over-reliance on teachers for student scheduling
- Inflexible mentor/student role management
- Lack of self-service capabilities for users
Approach: - Students can be mentors, but teachers must:
- Register all users
- Assign schedules/subjects manually
Drawbacks:
❌ High organizational complexity
❌ No student autonomy in schedule selection
❌ Time-consuming for teachers
Approach:
- Students access the platform to:
- Register as regular students OR mentors
- Mentors self-manage mentorship schedules
- All students self-enroll in subjects/mentorships
Drawbacks:
❌ Role confusion (mentor vs student)
❌ Potential scheduling conflicts
❌ No unified calendar view
Then the option that the group choose
Approach:
- Students autonomously:
- Register for classes
- View integrated calendar
- Manage profiles
- All data syncs with a centralized database
The group choose thisi for these reasons: -Efficiency: Reduces administrative workload -User Empowerment: Students control their schedule -Scalability: Handles growing user bases seamlessly -Data Integrity: Single source of truth in the database
Unitutor is an academic self-service platform that:
-
Empowers students to manage their own course registration
-
Reduces administrative workload on staff
-
Automates classroom/student assignment processes
-
24/7 Accessibility: users can manage schedules anytime
-
Error reduction: minimizes manual data entry mistakes
-
Resource optimization: frees teachers for pedagogical tasks
-
Customization: adapts to individual learning paths
-
Student autonomy: view assigned subjects
-
Administrative efficiency: Eliminates manual student-classroom matching
-
Teacher focus: enables concentration on teaching
| Component | Description |
|---|---|
| Database | PostgreSQL/MongoDB for user/course tracking |
| Frontend | React/Vue with calendar integration |
| Authentication | Role-based access control (JWT/OAuth) |
| API Endpoints | For registration, scheduling, and data sync |
"The best systems don't just solve problems – they empower users." (Team Consensus)
The Unitutor project is a project for the benefit of students. It's a project that not only helps them but also helps the administration, so they don't have to choose which student will go to which classroom and with which student. Teachers also don't need to enter their subject for students to register. Now, students register for their assigned classes. This has many benefits, some of which are:
- Students can register and see their assigned subjects.
- Students who repeat subjects can register themselves for the subjects they need to retake.
- The administration has more time to develop other areas without worrying about registering students.
| Category | Technology/Tool | Purpose |
|---|---|---|
| Primary Language | Java | Backend system development |
| Development Environment | IntelliJ IDEA | IDE for coding and debugging |
| Database | MySQL | Persistent data storage |
| DB Connection | JDBC | Interface for database operations |
| Version Control | Git/GitHub | Collaborative source code management |
The database's structure is based on knowledge. For someone to understand it, the context is that some students want to register in the platform and must register on the platform. Afterward, they can choose between these options:
The system requires student registration before accessing these options:
- Course registration
- Schedule viewing
- Academic history tracking
To make it easy for you to get started with this proyect, you need: [] 1.Workbrench MYSQL sever 3306 [] 2.Java 17 [] 3.Gradle 7+ [] 4.Gitlab
git clone https://github.com/your-repo/unitutor.git
cd unitutormysql -u root -p
CREATE DATABASE Unitutor;Use the intellij or vs code or java for enter the code of the program put the:
-src/main/java/org/example
Here you have all code: - DataBase.java -displaySchedule.java -InscriptionManager.java -Login -Main.java -PersonalInformation.java
The file DataBase.java you can see:
public class DataBase {
private static DataBase instance;
private Connection com;
public DataBase() {
try {
Class.forName("com.mysql.jdbc.Driver");
this.com = DriverManager.getConnection(
"jdbc:mysql://localhost:3307/Unitutor?useSSL=false",
"root",
"root123");
} catch (Exception error) {
System.out.println("Error: " + error);
}
}
public static synchronized DataBase getInstance() {
if (instance == null) {
instance = new DataBase();
}
return instance;
}
public Connection getConnection() {
return com;
}
}
The explanation is basic: the code implements a connection to MySQL that has only a single global instance of the connection. It uses the Singleton pattern with synchronization for security in multithreaded environments, loading the MySQL JDBC driver and using the specified parameters (username and password) in the connection, where each user must change theirs respectively.
The steps to follow: [] -change user [] -password
Now you can start the program if you've opne the workbrench MYSQL, so this project can be to open in VSCode, intellij and other apps with terminal.If you need help to install the apps here leave some link:
Workbrench MYSQL:
https://dev.mysql.com/doc/workbench/en/wb-installing-windows.html
VSCode:
https://code.visualstudio.com/
Intellij IDEA:
https://support.academicsoftware.eu/hc/es/articles/360006978997-C%C3%B3mo-instalar-IntelliJ-IDEA-Community-Edition
This app can be used for academic purposes at various levels, including primary, secondary, university, and even graduate or master's degrees. Since it's only for student use, it's easier to use for your own use.
If you have problems with any step or need help, you can use this email:
unitutor.jala@gmail.com
The authors are: - Sergio Vajjellos - Monica Escobar - Erwin Sandoval - Samuel Quispe - Rosa Poma
This group worked in order to demonstrate their software development skills, which means it is a non-profit job.
Currently the project is in a finalized state, however, it is not ruled out that in the future the group may want to update the project or improve it.