University Management System
An ASP.NET Core app for courses, enrollments and grades, with three roles.
The challenge
Model how a faculty runs its courses: students, professors and courses, who is enrolled in what and in which year, and how points turn into a final grade, with each role seeing only what it needs. Built for the Server-side Web Application Development course at FEIT.
My contribution
Built a full ASP.NET Core 8 MVC application with Entity Framework Core and SQL Server, using code-first migrations. It has three areas: an admin panel for managing students, professors, courses and users, a professor area for grading, and a student dashboard. I designed the data model, the controllers and Razor views, the CSV import, the file uploads and a light and dark theme.
How it works
Users sign in and are sent to their own area based on their role, stored in the session. Admins create courses with up to two professors, enroll students in bulk after filtering them by semester and education level, and close an enrollment by setting its finish date. Professors see only their own courses, choose the academic year, and enter exam, seminar, project and extra points plus the grade for each student. Finished enrollments are locked. Students see every course they are enrolled in with their points, grade and professors, and can add their project link and upload their seminar paper. Admins can import students, professors and courses from CSV, and the student import also creates their login accounts.
From enrollment to a completed course
Create courses and accounts
Admins manage records and can import them from CSV.
Enroll the students
Filter by semester and education level for bulk enrollment.
Work within each role
Professors grade; students view results and submit coursework.
Close the enrollment
Setting a finish date locks the completed record.
Course project with session-based roles. Production authentication and authorization need further work.
Data model
Five related entities in EF Core: Student, Teacher, Course, Enrollment and User. A course links to a first and a second teacher. An enrollment connects a student to a course for a given year and semester and holds the exam, seminar, project and additional points, the grade, the finish date and links to the student's work. A user is tied to either a teacher or a student, which is how each login maps to its data.
What it covers
- ASP.NET Core 8 MVC with Razor views
- EF Core 8 code-first with SQL Server and migrations
- Three roles: admin, professor, student
- Bulk enrollment with semester and education-level filters
- Grading by year with exam, seminar, project and extra points
- Locked records once an enrollment is finished
- CSV import for students (with accounts), professors and courses
- Profile pictures and document uploads with a file-type whitelist
- Light and dark theme, remembered in the browser
Gallery
Outcome
A working system that covers the full course cycle, from enrollment to final grade, with each role seeing its own view of the same data.
Project scope
This is a course project focused on MVC structure, EF Core and the data model. Login uses a simple session-based role check, and passwords are not hashed. A production version would move to ASP.NET Core Identity with hashed passwords and role-based authorization on every controller.







