This is a Python console-based application for managing students and professors. It allows users to register, log in, and access role-specific functionalities depending on whether they are a student or a professor.
The system uses simple file-based storage:
- CSV for professors
- JSON for students
- User registration (Student / Professor)
- Login system with role-based access
- Session tracking via a global logged-in user
-
Register with:
- Username (3 digits)
- Password
- Name & surname
- Consultation term
-
Data stored in
data/profesori.csv -
Access to professor-specific menu (
menu_prof)
-
Register with:
- Index number (must be unique)
- Password
- Name & surname
-
Data stored in
data/studenti.json -
Each student has an
ocene(grades) list -
Access to student-specific menu (
menu_stud)
project/
│
├── main.py
├── dodatno.py
├── profesorMeni.py
├── studentMeni.py
│
└── data/
├── profesori.csv
└── studenti.json
- Make sure you have Python 3 installed
- Run the main file:
python main.pyA: Registration
B: Login
Q: Exit
-
Choose:
P→ ProfessorS→ Student
-
Professors log in using:
- Username (
sifra) - Password
- Username (
-
Students log in using:
- Index number
- Password
After successful login, users are redirected to their respective menus.
Stored as rows:
username, password, firstname, surname, email, consultation_term
Stored as objects:
{
"indeks": 123,
"lozinka": "password",
"ime": "Name",
"prezime": "Surname",
"email": "email@example.com",
"ocene": []
}Standard Python libraries only:
osjsoncsvsys
- Add password hashing for security
- Improve input validation
- Add persistent session handling
Developed as a console-based academic management system project.