This project is a complete Student Management System built using C# (.NET WinForms) and SQL Server. It was developed as part of a certificate course project and demonstrates real-world system design, including role-based authentication, attendance tracking, marks management, CRUD operations, and reporting.
Users can log in with Email + Password and are directed to dashboards:
- Manage Students
- Manage Staff
- Manage Courses
- Attendance Management
- Marks Management
- Reports
- Change Password
- Logout
- Record Attendance
- Enter Marks
- Manage Students
- Generate Reports
- Logout
- View Profile
- View Attendance
- View Marks
- Logout
Shows student’s:
- Name
- DOB
- Gender
- Phone
- Address
- Course
- Course Code
Students can view:
- Attendance history
- Present/Absent status by date
Students can view:
- Subjects
- Marks Obtained
- Grades
- Course & Course Code filter options
- Load students by Course + Course Code
- Mark Present or Absent
- Save/update attendance
- Mark All Present shortcut
- Enter marks per student
- Auto-grade calculation
- Save marks to SQL database
- Clear/reset form
- Add (auto-creates user account)
- Edit student details
- Delete (clears attendance, marks, user record)
- Search students
- Add staff (auto-creates user account)
- Edit staff information
- Delete staff
- Search staff
- Add, edit, delete courses
- Search course by name/code/duration
Admins & staff can generate attendance reports filtered by:
- Course
- Course Code
- Date range
UserID(PK)FullNameEmailPasswordRole— Admin, Staff, StudentCreatedDate
- Linked to
Users.UserID - Contains full student details
- Course enrollment info
- Linked to
Users.UserID - Contains staff details
- Course Name
- Course Code
- Duration
- StudentID
- Date
- Status (Present/Absent)
- StudentID
- CourseID
- Course Code
- Subject
- Marks Obtained
- Grade
Student Management System/
│── Program.cs
│── DBConnection.cs
│
├── Authentication/
│ ├── frmHome.cs
│ ├── frmLogin.cs
│ ├── frmChangePassword.cs
│
├── Dashboards/
│ ├── frmAdminDashboard.cs
│ ├── frmStaffDashboard.cs
│ ├── frmStudentDashboard.cs
│
├── Management/
│ ├── frmManageStudents.cs
│ ├── frmManageStaff.cs
│ ├── frmManageCourses.cs
│
├── Modules/
│ ├── frmAttendance.cs
│ ├── frmMarks.cs
│ ├── frmReports.cs
│ ├── frmProfile.cs
│ ├── frmStudentAttendance.cs
│ ├── frmStudentMarks.cs
│
└── UI Resources (.Designer.cs, .resx)
git clone https://github.com/yourusername/StudentManagementSystem.gitCREATE DATABASE StudentManagementSystem;Then run table creation scripts.
Update App.config:
<connectionStrings>
<add name="DBConnection"
connectionString="Data Source=YOUR_SERVER;Initial Catalog=StudentManagementSystem;Integrated Security=True"/>
</connectionStrings>Open project in Visual Studio → Press F5
Grades are assigned automatically based on marks:
A = 75+
B = 65–74
C = 55–64
D = 45–54
F = below 45
Through building this project, I gained experience in:
- C# WinForms desktop development
- SQL Server database design
- ADO.NET for SQL operations
- CRUD operations
- DataGridView binding
- Multi-role authentication
- Exception handling & validations
- Designing modular UI systems
##Contribution - GACSE252F-001