A production-grade, role-based academic management platform β digitizing student records, teacher data, attendance workflows, and admin operations in one unified system.
π Live Demo Β· π Documentation Β· π Report Bug Β· π‘ Request Feature
| Login Page | Sign Up Page |
|---|---|
![]() |
![]() |
| Secure JWT-based login | New admin registration |
| Main Dashboard | Navigation & Sidebar |
|---|---|
![]() |
![]() |
| Real-time overview of all modules | Fast sidebar navigation |
| Students List | Add Student | Edit Student |
|---|---|---|
![]() |
![]() |
![]() |
| All student records | Add new student | Update student info |
| Teachers List | Add Teacher | Edit Teacher |
|---|---|---|
![]() |
![]() |
![]() |
| Full teacher directory | Create teacher record | Update teacher info |
| Attendance Overview | Mark Attendance |
|---|---|
![]() |
![]() |
| History & summary view | Daily attendance marking |
Watch the complete platform walkthrough β login β dashboard β students β teachers β attendance
Most educational institutes still manage students and attendance manually β leading to chaos, errors, and wasted time.
| β Old Way | β With SMS |
|---|---|
| Manual registers & paper records | Centralized digital database |
| Data duplication & inconsistencies | Single source of truth |
| Slow attendance reporting | Real-time tracking & history |
| No access control | Role-based JWT authentication |
| Scattered teacher & student data | Unified admin dashboard |
π Authentication & Security
- JWT-based secure login flow
- Password hashing with
bcrypt - Protected API routes for all sensitive operations
- Token-based session management on frontend
π¨βπ Student Management
- Add students with full academic profiles
- Update, delete, and fetch student records
- Clean table/list views in admin panel
π©βπ« Teacher Management
- Create and maintain teacher records
- Manage subject assignments
- Update or remove teacher entries from directory
π Attendance Management
- Mark daily attendance per student per date
- Track present / absent status
- View complete attendance history via API and UI
π₯οΈ Admin Dashboard
- Unified admin panel for all operations
- Fast navigation between modules
- Form-driven CRUD workflows
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FRONTEND LAYER β
β Next.js 14 + TypeScript + Tailwind CSS β
β shadcn/ui Β· Radix UI Components β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β HTTP / JSON (REST API)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BACKEND LAYER β
β Flask REST API + JWT Auth β
β SQLAlchemy ORM Β· Marshmallow Schemas β
β Flask-Bcrypt Β· Flask-CORS Β· PyMySQL β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β SQL Queries
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DATABASE LAYER β
β MySQL 8.0 Database β
β sms_task1 Schema β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
SMS-Frontend-Backend/
β
βββ π BackEnd/
β βββ app.py # Flask app entry point
β βββ requirements.txt # Python dependencies
β βββ src/
β βββ __init__.py # App factory & config
β βββ extentions.py # Flask extensions init
β βββ models/ # SQLAlchemy DB models
β βββ routers/ # API route handlers
β β βββ auth_router.py
β β βββ students_router.py
β β βββ teachers_router.py
β β βββ attendance_router.py
β β βββ admin_router.py
β βββ schemas/ # Marshmallow serializers
β
βββ π FrontEnd/
βββ app/ # Next.js App Router pages
βββ components/ # Reusable UI components
βββ hooks/ # Custom React hooks
βββ lib/ # Utilities & API helpers
βββ package.json
Make sure you have the following installed:
| Tool | Version |
|---|---|
| Python | 3.10+ |
| Node.js | 18+ |
| MySQL | 8.0+ |
| npm / pnpm | Latest |
git clone https://github.com/your-username/SMS-Frontend-Backend.git
cd SMS-Frontend-Backendcd BackEnd
# Create virtual environment
python -m venv .venv
# Activate β Windows
.\.venv\Scripts\Activate.ps1
# Activate β macOS/Linux
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt-- Run in MySQL client
CREATE DATABASE sms_task1;Then update the DB URI in BackEnd/src/__init__.py:
# Replace with your MySQL credentials
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:YOUR_PASSWORD@localhost/sms_task1'# From project root
cd FrontEnd
npm install
# or
pnpm installCreate .env.local file in FrontEnd folder:
NEXT_PUBLIC_API_BASE_URL=http://localhost:5000/apiTerminal 1 β Start Backend:
cd BackEnd
python app.py
# Running on http://localhost:5000Terminal 2 β Start Frontend:
cd FrontEnd
npm run dev
# Running on http://localhost:3000π Open http://localhost:3000 in your browser!
All routes are prefixed with /api
| Module | Prefix | Description |
|---|---|---|
| Auth | /api/auth |
Login, token management |
| Students | /api/students |
CRUD for student records |
| Teachers | /api/teachers |
CRUD for teacher records |
| Attendance | /api/attendance |
Mark & view attendance |
| Admin | /api/admin |
Admin management |
β οΈ Hydration Warning in Frontend
- Test in Incognito / Private mode
- Temporarily disable browser extensions
β οΈ CORS / API Connectivity Issue
- Confirm backend is running on port
5000 - Check
NEXT_PUBLIC_API_BASE_URLmatches backend URL exactly
β οΈ MySQL Connection Error
- Verify MySQL service is running
- Confirm
sms_task1database exists - Double-check credentials in
BackEnd/src/__init__.py
β οΈ Current config has JWT secret and DB URI hardcoded for development.
Before deploying to production, move all sensitive values to environment variables (.env).
- JWT Authentication & bcrypt password hashing
- Student CRUD β full profile management
- Teacher CRUD β directory & subject management
- Attendance Tracking β mark & view history
- Admin Dashboard β unified control panel
- REST API with modular router structure
- Environment-based config via
.env - Role-based UI route guards on frontend
- π Reports & Analytics β attendance %, monthly summaries, PDF export
- π Search & Filter β find students by name, class, or roll number
- π Student Result Management β enter marks, generate result cards
- π Dark Mode β light/dark theme toggle
- π€ Bulk Import via Excel/CSV β add multiple students at once
- Unit & integration tests
- Docker deployment setup
- Swagger / OpenAPI documentation
- π¨βπ©βπ§ Parent Portal β parents view child's attendance & results
- π§ Email Notifications β auto email to parents on absence
- π« Multi-Class & Section Support β manage multiple classes simultaneously
- π Timetable Management β weekly class schedule builder
- π³ Fee Management β fee records, due dates, payment history tracking
- π± Fully Responsive Mobile UI β optimized for all screen sizes
Powered by LangChain Β· LangGraph Β· Generative AI
- π€ AI Admin Chatbot β ask "Who had less than 50% attendance this month?" and get instant answers
- π Dropout Risk Prediction β AI flags students at risk based on attendance patterns
- π§ Smart Report Generation β generate reports using natural language commands
- π Auto Performance Analysis β AI identifies weak areas per student and suggests improvements
- π£οΈ Voice Attendance β mark attendance via voice commands
- π« Multi-School SaaS Platform β onboard multiple institutions on one platform
- π° Subscription Tiers β Free / Basic / Pro plans for institutes
- π² Mobile App β React Native iOS & Android app
- π Super Admin Dashboard β platform-wide analytics across all schools
- π Third-Party Integrations β connect with LMS platforms and government portals
π‘ This project is actively growing. New features are added regularly based on real institute needs and community feedback. Star β the repo to stay updated!











