Skip to content

HadeedTariq-475/EdTech

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ EdTech School Management System

A C# Windows Forms desktop application built to manage core school administration workflows through an Object-Oriented Programming (OOP) approach.

This project helps an educational institute manage Students, Teachers, Staff, Classes, Timetables, Attendance planning, Users, Fees, and Salary-related records using a SQL Server database and a simple desktop interface.

🚀 Features

🔐 User Login & Password Reset – Secure login screen with username/password validation and password recovery through a reset phrase
📊 Dashboard Navigation – Central dashboard to access all major school management modules
🎓 Student Management – Add, view, update, delete, and print student records with personal, parent, class, section, enrollment, and photo details
👨‍🏫 Teacher Management – Maintain teacher profiles, roles, qualifications, salaries, CNIC, contact information, joining date, incharge class, and photo records
👥 Staff / Employee Management – Manage non-teaching staff details including role, qualification, salary, status, joining date, contact details, and profile photo
🏫 Class Management – Create and maintain class records with grade, section, room number, student count, furniture count, and total capacity
🗓 Timetable Management – Add, view, update, and remove class timetable entries by day, subject, start time, end time, and grade
📅 Attendance Module – Attendance is included as a dashboard module/planned workflow for tracking student or staff presence
💰 Fee & Salary Models – Includes project classes for student fee tracking, late fee calculation, invoice generation, payment marking, and salary data structure
📝 MCQs Model – Contains a basic MCQ structure for question text, answer options, and correct answer handling
🛠 CRUD Operations – Implemented across major modules such as Students, Teachers, Staff, Classes, and Timetables
📘 OOP Concepts Applied – Inheritance, encapsulation, abstraction through interfaces, repository pattern, and class-based modeling
🗄 SQL Server Integration – Uses SQL Server tables, relationships, foreign keys, transactions, and parameterized SQL queries

🎯 Project Purpose

EdTech School Management System is designed as a desktop-based school administration solution. Its purpose is to reduce manual record keeping by storing important academic and administrative information in one database-driven system.

The project also demonstrates practical OOP concepts in C#, separating entities such as students, teachers, staff, classes, and timetable entries into dedicated classes, while repository classes handle database operations.

📦 Main Modules

🔐 Authentication Module

Handles user login and password reset.

  • Login validation through the S_USER database table
  • Password reset using username and reset phrase
  • Opens the main dashboard after successful authentication

📊 Dashboard Module

The main navigation screen of the application.

  • Displays the logged-in username
  • Provides access to Student, Teacher, Staff, Class, and Timetable modules
  • Acts as the central control panel for the system

🎓 Student Module

Manages complete student information.

  • Student ID, session, name, gender, date of birth, age, disability status
  • B-Form number
  • Father and mother information
  • Phone numbers and CNIC records
  • Address, class, section, enrollment date, and student photo
  • Add, update, delete, view, and print student data

👨‍🏫 Teacher Module

Manages teaching faculty records.

  • Teacher ID, name, gender, DOB, age, role, salary, joining date
  • Qualification, CNIC, phone number, address, photo
  • Incharge class assignment
  • Departure date support
  • Add, update, delete, and view teacher records

👥 Staff / Employee Module

Manages staff and employee information.

  • Staff ID, name, qualification, marital/status field, gender, DOB, age
  • Role, salary, joining date, CNIC, address, phone number
  • Disability status, photo, and departure date
  • Add, update, delete, and view staff records

🏫 Class Module

Maintains classroom and grade information.

  • Class ID and grade
  • Number of students
  • Chairs, tables, room number, and total capacity
  • Section information
  • Used as a foreign key reference for students and timetables

🗓 Timetable Module

Handles class schedule records.

  • Day of week
  • Start time and end time
  • Grade/class reference
  • Subject name
  • Add, update, delete, and filter timetable entries by day and class

📅 Attendance Module

Represents the attendance workflow area of the school management system.

  • Attendance option is available from the dashboard interface
  • Attendance is marked as a planned module in the school management structure
  • Intended to track daily presence and absence records for students or staff
  • Contains attendance tables, attendance forms

💰 Fee Module

Contains the structure for student fee handling.

  • Fee type and total amount
  • Due date, paid date, billing number, billing date, and extended date
  • Payment status
  • Late fee calculation
  • Invoice generation and payment marking logic

💵 Salary Module

Contains salary data structure for teachers and staff.

  • Salary ID
  • Teacher or staff reference
  • Salary month and issue date
  • Basic salary, medical allowance, house rent, other allowances, deductions, and total salary

📝 MCQs Module

Contains a simple model for multiple-choice questions.

  • Question text
  • List of options
  • Correct answer

🧱 OOP Structure

The project uses class-based design to represent real school entities.

  • Person is the base class for common personal information
  • Student inherits from Person
  • Faculity inherits from Person and adds role, salary, and joining date
  • Teacher and Staff inherit from Faculity
  • S_Class, TimeTable, StudentFee, Salary, MCQs, and User represent separate domain models
  • Repository classes such as StudentRepo, TeacherRepo, StaffRepo, ClassRepo, TimeTableRepo, UserRepo, and resetPassRepo handle database operations
  • Interfaces such as iStudentRepo, iTeacherRepo, iClassRepo, and ISchool_Management show abstraction for module behavior

🗄 Database

The project uses SQL Server

🛠 Tech Stack

Language: C#
Paradigm: Object-Oriented Programming (OOP)
Framework: .NET 6 Windows Forms
Database: Microsoft SQL Server
Data Access: System.Data.SqlClient
Reporting: Microsoft ReportViewer WinForms
IDE: Visual Studio
Application Type: Desktop Windows Application

▶ How to Run

  1. Open EdTech.sln in Visual Studio.
  2. Create the SQL Server database using SQLQuery1.sql.
  3. Update the SQL Server connection string if needed in:
    • School_Management.cs
    • UserRepo.cs
    • resetPassRepo.cs
  4. Restore NuGet packages.
  5. Build and run the project.

Default sample users in the SQL script:

Username: Fahad
Password: 1234

Username: Safwan
Password: 1234

📌 Note

The project currently uses a local SQL Server Express connection string:

Data Source=DESKTOP-C3NF4Q2\SQLEXPRESS;Initial Catalog=EdTech;Integrated Security=True;

If you run this project on another computer, replace the server name with your own SQL Server instance.

About

Semester Project on School Management System

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 100.0%