README.md
# Educational Institute Management System
The **Educational Institute Management System** is a desktop-based application developed in C# with SQL Server as the database. The system is designed to help educational institutions manage students, teachers, sections, enrollment, payments, and grading. This project features role-based access, allowing students, teachers, and administrators to perform tasks based on their assigned roles.
## Features
### 1. Grading System
- Teachers can add grades for specific students and subjects.
- Students can view their grades by entering their Student ID.
- Grades are stored in the `Grades` table, which is linked to `StudentId` and `SubjectId`.
### 2. Section Enrollment with Seat Limitation
- Students can enroll in sections, and each section has a seat limit of 40.
- The system automatically checks available seats before allowing enrollment.
- Admins can view the number of students enrolled in each section and how many seats remain.
### 3. Payment History
- Students can view their payment history, including payment amount, status, and date.
- Admins can manage student payments and track which students have made payments.
### 4. Back Button Functionality
- Each form has a back button that allows users to navigate back to the previous page, improving user experience.
##Screenshots
1. Login page
![image](https://github.com/user-attachments/assets/515283bf-d5bc-4782-ae74-84858c363849)
2. signup page
![image](https://github.com/user-attachments/assets/ae458ca1-cdeb-4ec0-9c02-42bf7cc1e68b)
3.Student main page
![image](https://github.com/user-attachments/assets/ab942358-fbec-4b63-b624-f822b914f6d2)
4.Teacher main page
![image](https://github.com/user-attachments/assets/34232dee-c35f-4a62-9ab9-d0263cf19c62)
5.admin main page
![image](https://github.com/user-attachments/assets/1e0fa521-2fef-4602-b21e-6334010a9816)
try the project to find out more functionalities!!!
## Getting Started
### Prerequisites
To run this project, you will need:
- **Visual Studio**: Version 2019 or later with C# desktop development.
- **SQL Server**: Microsoft SQL Server 2016 or later (Express edition is fine).
- **SQL Server Management Studio (SSMS)**: For managing the database.
### Database Setup
1. Open **SQL Server Management Studio (SSMS)** and connect to your local server.
2. Create a new database named `edudb`.
3. Run the SQL scripts provided in the `db-scripts.txt` to create the necessary tables:
- `Grades.sql`: Creates the `Grades` table for storing grades.
- `SectionEnrollment.sql`: Creates the `sectionab` and `entab` tables for section management.
- `Payment.sql`: Creates the `Payment` table for tracking student payments.
### Tables Overview
- `studentab`: Stores basic student information.
- `sectionab`: Stores section details, including the number of available seats.
- `entab`: Stores student enrollment data.
- `Grades`: Stores grades for students by subject.
- `Payment`: Tracks payments made by students.
### Installation
1. Clone the repository:
```bash
git clone https://github.com/your-username/educational-institute-management.git
- Open the solution in Visual Studio.
- Update the connection string in your C# code (typically found in
App.config
or within theSqlConnection
objects) to match your SQL Server instance:SqlConnection con = new SqlConnection(@"Data Source=YOUR-SERVER-NAME;Initial Catalog=edudb;Integrated Security=True;");
- Build and run the project in Visual Studio.
- Navigate to the Enrollment Form.
- Enter the Student ID and select the desired Section ID.
- Click Enroll to register the student in the selected section. The system will automatically check seat availability.
- Teachers can use the Grade Entry Form to input grades for students.
- Students can view their grades by entering their Student ID in the View Results Form.
- Admins can manage and track student payments using the Admin Dashboard.
- Students can view their payment history on the Payment History Form.
- Admins can view how many students are enrolled in each section and how many seats remain.
- C#: For desktop application development.
- SQL Server: For data storage and management.
- Windows Forms: For user interface development.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries, please contact:
- Twaki Hasan - mailto: [email protected]
Note: This project is meant to demonstrate various concepts related to educational institute management and can be extended for real-world use.