Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Grading MVC

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.

Overview

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.

Tech Stack

  • ASP.NET Core MVC
  • .NET 8
  • Entity Framework Core 8
  • SQL Server LocalDB
  • Bootstrap

Key Features

  • Role-based login flow for Student, Professor, and Secretary
  • 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

Project Structure

StudentGradingMVC/
|-- Controllers/
|-- Data/
|-- Filters/
|-- Migrations/
|-- Models/
|-- Properties/
|-- Views/
|-- wwwroot/
|-- Program.cs
|-- appsettings.json
`-- StudentGradingMVC.csproj

Prerequisites

Before running the project, make sure you have:

  • .NET 8 SDK
  • SQL Server LocalDB installed on Windows
  • dotnet-ef tool installed globally

Install Entity Framework CLI if needed:

dotnet tool install --global dotnet-ef

Getting Started

From the project directory:

cd c:\AntzeloProjects\StudentGradingMVC\StudentGradingMVC
dotnet restore
dotnet ef database update
dotnet run

When the application starts, it should listen on:

  • https://localhost:7068
  • http://localhost:5077

Use the HTTPS URL first. If the browser asks you to trust the local development certificate, accept it.

Configuration

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.

Seeded Accounts

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

Screenshots

  • Login page with role selector and branded header image

  • Professor grade entry screen showing a course roster and editable grade fields) image

  • Secretary dashboard or courses screen showing course management actions image

Notes

  • 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.

Future Improvements

  • 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

License

This project is currently provided without a defined license. Add one if the repository is intended for public distribution.

About

ASP.NET Core MVC student grading management system with role-based authentication, grade tracking, and SQL Server integration.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages