Student Grading MVC is an ASP.NET Core MVC web application for managing academic grading workflows across three roles: students, professors, and secretariat staff. The project uses Entity Framework Core with SQL Server LocalDB and includes sample seeded data for local development.
The application is organized around role-based access:
- Students can review grades by course, by semester, and as an overall average.
- Professors can view assigned courses and submit or update student grades.
- Secretariat staff can manage courses, professor assignments, and student enrollments.
The default route opens the login page, and access to each area is enforced through a role guard based on authentication cookies.
- ASP.NET Core MVC
- .NET 8
- Entity Framework Core 8
- SQL Server LocalDB
- Bootstrap
- Role-based login flow for
Student,Professor, andSecretary - Grade visibility for students across multiple views
- Grade entry workflow for professors by assigned course
- Course creation and professor assignment for secretariat staff
- Enrollment management for student-course declarations
- Seeded development data for fast local setup
StudentGradingMVC/
|-- Controllers/
|-- Data/
|-- Filters/
|-- Migrations/
|-- Models/
|-- Properties/
|-- Views/
|-- wwwroot/
|-- Program.cs
|-- appsettings.json
`-- StudentGradingMVC.csproj
Before running the project, make sure you have:
- .NET 8 SDK
- SQL Server LocalDB installed on Windows
dotnet-eftool installed globally
Install Entity Framework CLI if needed:
dotnet tool install --global dotnet-efFrom the project directory:
cd c:\AntzeloProjects\StudentGradingMVC\StudentGradingMVC
dotnet restore
dotnet ef database update
dotnet runWhen the application starts, it should listen on:
https://localhost:7068http://localhost:5077
Use the HTTPS URL first. If the browser asks you to trust the local development certificate, accept it.
The application uses the following connection string in appsettings.json:
"ConnectionStrings": {
"StudentGradingDB": "Server=(localdb)\\MSSQLLocalDB;Database=StudentGradingDB;Trusted_Connection=True;MultipleActiveResultSets=true"
}If LocalDB is not available on your machine, update the connection string to point to a SQL Server instance you control.
The application seeds a small dataset on startup for development use.
| Username | Password | Role |
|---|---|---|
stud1 |
1234 |
Student |
stud2 |
1234 |
Student |
prof1 |
1234 |
Professor |
sec1 |
1234 |
Secretary |
-
Professor grade entry screen showing a course roster and editable grade fields)

-
Secretary dashboard or courses screen showing course management actions

- The database is seeded on application startup if core tables are empty.
- Authentication is cookie-based and lightweight, intended for educational or local project use.
- The default landing page is the login screen.
- Replace plain-text passwords with a secure authentication flow
- Add authorization policies and server-side identity management
- Add automated tests for controller actions and grade workflows
- Add audit history for grade changes and administrative actions
This project is currently provided without a defined license. Add one if the repository is intended for public distribution.
