Streamlining coaching center operations with modern database architecture
Developer: MUDASIR NAEEM (mudasirnaeem000@gmail.com)
- ๐ฏ Project Overview
- โจ Key Features
- ๐ Database Schema
- ๐ Normalization Journey
- ๐ ๏ธ Technology Stack
- ๐ฑ User Roles
- ๐ Getting Started
The Coaching Management System is a comprehensive educational management platform designed to streamline operations in coaching centers and educational institutions. Built with modern database principles and powered by Supabase, this system manages students, teachers, courses, attendance, results, and administrative tasks efficiently.
๐ก Built with Database Normalization in Mind - Our system follows proper 3NF (Third Normal Form) principles for optimal data integrity and performance.
| ๐ Student Management | ๐จโ๐ซ Teacher Management | ๐ Course Management |
|---|---|---|
| Student Registration | Teacher Profiles | Course Creation |
| Contact Information | Subject Assignment | Course Outlines |
| Class Enrollment | Teaching Schedules | Exercise Tracking |
| ๐ Attendance System | ๐ Results Management | ๐ Notifications |
|---|---|---|
| Daily Attendance | Marks Recording | Email Notifications |
| Attendance Reports | Grade Calculations | System Alerts |
| Status Tracking | Performance Analytics | Updates & Reminders |
Our system implements a 3NF (Third Normal Form) database structure ensuring:
graph TD
A[Raw Data] --> B[1NF]
B --> C[2NF]
C --> D[3NF]
style A fill:#ff6b6b
style B fill:#ffd93d
style C fill:#6bcf7f
style D fill:#4ecdc4
-
1NF: Atomic Values
-
2NF: Remove Partial Dependencies
-
3NF: Remove Transitive Dependencies
- ๐ Data Integrity: Eliminates redundancy and inconsistencies
- โก Performance: Optimized queries and faster data retrieval
- ๐ง Maintainability: Easy updates and modifications
- ๐ Scalability: Efficient handling of growing data
๐ค User Management Tables
| Column | Type | Description |
|---|---|---|
user_id (PK) |
VARCHAR | Primary identifier |
user_name |
VARCHAR | Full name |
user_type |
VARCHAR | Student/Teacher/Admin |
password |
VARCHAR | Encrypted password |
| Column | Type | Description |
|---|---|---|
student_id (PK) |
VARCHAR | Student identifier |
student_name |
VARCHAR | Student full name |
father_name |
VARCHAR | Father's name |
contact_1 |
VARCHAR | Primary contact |
contact_2 |
VARCHAR | Secondary contact |
enrolled_class |
VARCHAR | Class enrolled in |
course_id (FK) |
VARCHAR | Associated course |
๐จโ๐ซ Academic Tables
| Column | Type | Description |
|---|---|---|
teacher_id (PK) |
VARCHAR | Teacher identifier |
teacher_name |
VARCHAR | Teacher full name |
teaching_subject |
VARCHAR | Subject expertise |
| Column | Type | Description |
|---|---|---|
course_id (PK) |
VARCHAR | Course identifier |
course_name |
VARCHAR | Course title |
teacher_id (FK) |
VARCHAR | Assigned teacher |
student_id (FK) |
VARCHAR | Enrolled student |
๐ Operational Tables
| Column | Type | Description |
|---|---|---|
attendance_id (PK) |
VARCHAR | Attendance record ID |
attendance_date |
DATE | Date of attendance |
attendance_day |
VARCHAR | Day of week |
attendance_status |
VARCHAR | Present/Absent |
student_id (FK) |
VARCHAR | Student reference |
| Column | Type | Description |
|---|---|---|
result_id (PK) |
VARCHAR | Result identifier |
subject_name |
VARCHAR | Subject name |
class |
VARCHAR | Class level |
marks |
VARCHAR | Obtained marks |
percentage |
DECIMAL | Result percentage |
course_id (FK) |
VARCHAR | Course reference |
๐ด Raw Data (Unnormalized)
โ
๐ก First Normal Form (1NF)
โข Atomic values only
โข No repeating groups
โ
๐ข Second Normal Form (2NF)
โข Remove partial dependencies
โข Separate user and scheduling data
โ
๐ต Third Normal Form (3NF)
โข Remove transitive dependencies
โข Create specialized tables
| Aspect | Before Normalization | After 3NF |
|---|---|---|
| Tables | 1 Large Table | 10 Specialized Tables |
| Data Redundancy | High | Eliminated |
| Data Integrity | Poor | Excellent |
| Query Performance | Slow | Optimized |
| Maintenance | Difficult | Easy |
| Role | Permissions | Key Features |
|---|---|---|
| ๐จโ๐ Student | View Profile, Grades, Attendance | โข Check Results โข View Timetable โข Access Notifications |
| ๐จโ๐ซ Teacher | Manage Classes, Record Attendance | โข Mark Attendance โข Input Grades โข Manage Courses |
| ๐จโ๐ผ Admin | Full System Access | โข User Management โข System Configuration โข Reports Generation |
# Required Software
- Node.js (v14+)
- npm or yarn
- Supabase Account
- Git- This screenshot displays the Supabase setup created for the Coaching Management System project , showcasing all the tables that have been designed and implemented within the database.
erDiagram
USERS ||--o{ STUDENTS : "user_id"
USERS ||--o{ TEACHERS : "user_id"
TEACHERS ||--o{ COURSES : "teacher_id"
STUDENTS ||--o{ ATTENDANCE : "student_id"
STUDENTS ||--o{ RESULTS : "student_id"
COURSES ||--o{ RESULTS : "course_id"
USERS ||--o{ NOTIFICATIONS : "user_id"
User Authentication โ Role Verification โ Data Access โ Business Logic โ Database Operations
| ๐ฎ Planned Features | ๐ Technical Upgrades |
|---|---|
| ๐ฑ Mobile App | โ๏ธ Cloud Deployment |
| ๐ฌ Chat System | ๐ Advanced Analytics |
| ๐ Advanced Reports | ๐ Enhanced Security |
| ๐ณ Payment Integration | โก Performance Optimization |
/Supabase%20Tables.png)