A comprehensive university management system with social features, implemented in C++ with a web interface using HTML/CSS and Makefile for build automation.
UTMS is a multi-phase academic project that combines:
- A university course management system (Phase 1)
- Social features for students/professors (Phase 2)
- Web interface with client-server architecture (Phase 3)
Key features:
- Course offering/registration
- User profiles and social connections
- Notifications system
- TA recruitment system
- Web-based interface
| Component | Technologies |
|---|---|
| Backend | C++20, Makefile |
| Web Interface | HTML5, CSS3, JavaScript |
| Architecture | Client-Server (APHTTP lib) |
| Data Handling | CSV parsing |
UTMS/ ├── server/ # Backend server code ├── src/ # Core logic source files ├── static/ # Static web assets (CSS/JS) ├── template/ # HTML templates ├── utils/ # Utility functions ├── images/ # Image assets ├── Makefile # Build automation └── utms.out # Compiled executable
- Linux environment
- GCC/G++ supporting C++20
- Make
$ make # Compile the project
$ ./utms.out <majors_csv> <students_csv> <courses_csv> <professors_csv>After starting the server, access via:
http://localhost:8080
- User roles: Student, Professor, Admin
- Course management
- User authentication
- Social posting system
- TA recruitment system
- Course channels
- Profile pictures
- Enhanced social features
- Login/Logout system
- Responsive web pages
- Session management
- Interactive forms
- Majors:
mid,major - Students:
sid,name,major_id,semester,password - Courses:
cid,name,credit,prerequisite,majors_id - Professors:
pid,name,major_id,position,password
Note: This project was developed as part of the Advanced Programming course at University of Tehran.