The Student Management System is a web-based application developed using ASP.NET Core MVC and Entity Framework Core. It provides a platform to manage students, courses, and enrollments efficiently, with features to ensure simplicity, scalability, and user-friendly interactions. This system is designed to streamline administrative tasks for educational institutions.
- View Students: Display a comprehensive list of all students, with filtering options.
- Add Students: Add new students to the system with essential details like name and status.
- Edit Details: Update student information as needed.
- Soft Delete: Deactivate students without permanently deleting their records.
- Reactivation: Enable deactivated students when required.
- View Courses: List all available courses with details such as title, credits, and description.
- Add Courses: Create new courses with relevant details.
- Edit Courses: Update course information, including title, description, and credits.
- Delete Courses: Remove courses from the system when no longer needed.
- Enrollment Stats: Identify the most and least popular courses based on enrollments.
- View Enrollments: Display all enrollments, showing student names, course titles, grades, and dates.
- Add Enrollments: Register students for specific courses.
- Edit Enrollments: Update enrollment details, such as grades or associated courses.
- Grade Management: Assign grades to students directly through the enrollment view.
- Soft Delete: Temporarily remove enrollments with an option to restore them.
- Admin Dashboard: Displays aggregated statistics:
- Total students, active and inactive counts.
- Total courses and the most/least popular courses based on enrollment numbers.
- Total enrollments, including graded and non-graded enrollments.
- Interactive Tables: Vertically scrollable tables with fixed headers for easier navigation of large datasets.
- Framework: Bootstrap for responsive design.
- UI Enhancements: Tables with vertical scrolling and fixed headers to improve data visibility.
- Framework: ASP.NET Core MVC for application logic and EF Core for database interaction.
- Data Operations: Efficient CRUD functionality for students, courses, and enrollments.
- Structure:
- Students Table
- Courses Table
- Enrollments Table
- Dummy Data: Seeded for testing and demonstration purposes.
- Optimizations: Queries optimized for large datasets with eager loading where necessary.
- Heavy queries, such as those involving enrollment statistics, are optimized to avoid delays.
- Pagination implemented for handling large datasets in student and course tables.
-
Role-Based Access Control (RBAC):
- Implement user roles such as admin, instructor, and student to restrict access to specific features.
-
Search and Filter Options:
- Add a global search bar for courses, students, and enrollments with real-time filtering.
-
Export Reports:
- Enable administrators to generate PDF or Excel reports for key statistics.
-
Notifications:
- Add email or dashboard notifications for new enrollments, grades, or updates.
-
Cloud Integration:
- Migrate the database or application hosting to a cloud platform for better scalability and reliability.
- Clone the repository to your local machine.
- Ensure you have .NET 7 SDK and a SQL Server instance installed.
- Update the
appsettings.jsonfile with your database connection string. - Run the following commands in the terminal:
dotnet restoreto install dependencies.dotnet ef database updateto apply migrations and seed the database.dotnet runto start the application.
- Access the application in your browser at
https://localhost:{port}.
This system was developed to streamline the management of educational data, providing a simple yet effective solution for administrators. The collaborative effort focused on delivering a functional, scalable, and user-friendly application.