https://github.com/hari7261/stdnmanage-withcurd
The system is built using Python, SQLite for database management, and CustomTkinter for the graphical user interface (GUI).
https://github.com/hari7261/stdnmanage-withcurd
curd-operation custom-tkinter hari7261 python sqlite student-managed student-management student-management-system-project
Last synced: about 2 months ago
JSON representation
The system is built using Python, SQLite for database management, and CustomTkinter for the graphical user interface (GUI).
- Host: GitHub
- URL: https://github.com/hari7261/stdnmanage-withcurd
- Owner: hari7261
- Created: 2025-01-14T13:05:53.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-14T13:14:58.000Z (4 months ago)
- Last Synced: 2025-02-03T08:52:08.655Z (4 months ago)
- Topics: curd-operation, custom-tkinter, hari7261, python, sqlite, student-managed, student-management, student-management-system-project
- Language: Python
- Homepage:
- Size: 73.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Student Management System (SMS)
The **Student Management System (SMS)** is a comprehensive application designed to manage student and teacher activities in an educational institution. It provides separate environments for **students** and **teachers**, allowing them to interact with the system based on their roles. The system is built using **Python**, **SQLite** for database management, and **CustomTkinter** for the graphical user interface (GUI).
---
## Features
### **For Teachers**
1. **Upload Marks**: Teachers can upload marks for students for each semester.
2. **Manage Attendance**: Teachers can mark attendance for students (Present/Absent).
3. **Assign Assignments**: Teachers can assign assignments to students with deadlines.
4. **Assign Projects**: Teachers can assign projects to students with deadlines.
5. **View Submissions**: Teachers can view student submissions for assignments and projects.
6. **Notifications**: Teachers can view important notifications.
7. **Events**: Teachers can view upcoming events.### **For Students**
1. **Profile Management**: Students can view their profile details.
2. **Attendance**: Students can view their attendance records as a **pie chart**.
3. **Marks**: Students can view their marks for each semester.
4. **Assignments**: Students can view and submit assignments.
5. **Projects**: Students can view and submit projects.
6. **Notifications**: Students can view important notifications.
7. **Events**: Students can view upcoming events.---
## Technologies Used
- **Python**: The core programming language used for development.
- **SQLite**: A lightweight database used to store all data.
- **CustomTkinter**: A modern GUI library for creating the user interface.
- **Matplotlib**: Used to generate pie charts for attendance visualization.---
## Database Schema
The SQLite database contains the following tables:
1. **users**:
- Stores user login credentials and profiles.
- Columns: `id`, `username`, `password`, `name`, `email`, `role`.2. **attendance**:
- Stores attendance records for students.
- Columns: `id`, `user_id`, `date`, `status`.3. **marks**:
- Stores marks for each semester.
- Columns: `id`, `user_id`, `semester`, `subject`, `marks`.4. **assignments**:
- Stores assignment details.
- Columns: `id`, `user_id`, `title`, `description`, `deadline`, `status`.5. **projects**:
- Stores project details.
- Columns: `id`, `user_id`, `title`, `description`, `deadline`, `status`.6. **notifications**:
- Stores notifications for users.
- Columns: `id`, `user_id`, `message`, `date`.7. **events**:
- Stores upcoming events.
- Columns: `id`, `title`, `description`, `date`.---
## How to Run the Application
### Prerequisites
1. Install Python 3.x from [python.org](https://www.python.org/).
2. Install the required libraries using pip:
```bash
pip install customtkinter matplotlib
```### Steps to Run
1. Download or clone the repository.
2. Navigate to the project directory.
3. Run the application:
```bash
python student_management.py
```
4. Use the GUI to interact with the system.---
## User Guide
### **Login/Signup**
1. **Login**:
- Enter your username and password to log in.
- Teachers and students have separate dashboards based on their roles.2. **Signup**:
- New users can sign up by providing a username, password, name, email, and role (student/teacher).### **Teacher Dashboard**
1. **Upload Marks**:
- Enter the student ID, semester, subject, and marks to upload marks.2. **Manage Attendance**:
- Enter the student ID, date, and status (Present/Absent) to mark attendance.3. **Assign Assignments**:
- Enter the student ID, title, description, and deadline to assign an assignment.4. **Assign Projects**:
- Enter the student ID, title, description, and deadline to assign a project.5. **View Submissions**:
- View all assignments and projects submitted by students.6. **Notifications**:
- View important notifications.7. **Events**:
- View upcoming events.### **Student Dashboard**
1. **Profile**:
- View your profile details (name, email, role).2. **Attendance**:
- View your attendance records as a pie chart.3. **Marks**:
- View your marks for each semester.4. **Assignments**:
- View and submit assignments.5. **Projects**:
- View and submit projects.6. **Notifications**:
- View important notifications.7. **Events**:
- View upcoming events.---
## Screenshots
### Login Screen
### Teacher Dashboard
### Student Dashboard
### Attendance Pie Chart
---
## Code Structure
The code is modular and organized into the following sections:
1. **Database Setup**:
- Functions to create a database connection and tables.
2. **CRUD Operations**:
- Functions to add, update, delete, and fetch data from the database.
3. **GUI**:
- CustomTkinter-based GUI for the application.
4. **Teacher Environment**:
- Functions and GUI components for teacher-specific features.
5. **Student Environment**:
- Functions and GUI components for student-specific features.## License
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
---
Thank you for using the **Student Management System**! We hope it simplifies your educational management tasks.