Skip to content

Nekilesh001/Student_Management_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ EduManage v3.0 โ€” Enterprise Student Management System

A production-grade, full-stack web application built as part of the ML Engineer Internship โ€” Phase 1 at ONEDATA SOFTWARE SOLUTIONS PRIVATE LIMITED.


๐Ÿ“Œ Overview

EduManage is a comprehensive academic management platform that digitizes and automates every aspect of an institution's operations โ€” from student records and attendance to fee management and AI-powered placement analytics. It serves three distinct user roles through dedicated portals, each with its own access controls and tailored interface.


โœจ Key Features

  • ๐Ÿ” JWT Authentication with RBAC (Admin / Faculty / Student)
  • ๐Ÿ‘จโ€๐ŸŽ“ Student & Faculty Management with soft delete and reactivation
  • ๐Ÿ“š Course Enrollment with prerequisite and credit-limit validation
  • ๐Ÿ“Š Credit-Weighted GPA (SGPA & CGPA) with auto grading
  • ๐Ÿ“… Attendance Tracking with rule engine and auto-notifications
  • ๐Ÿ’ณ Fee Management with partial payments and scholarship automation
  • ๐Ÿค– 3 AI Features powered by Groq and Gemini
  • ๐Ÿš€ Docker + GitHub Actions for containerization and CI/CD
  • ๐Ÿ“„ Swagger UI auto-generated API docs at /docs

๐Ÿง‘โ€๐Ÿ’ป Tech Stack

Backend

Technology Version Purpose
FastAPI 0.115.0 Async REST API framework
Python 3.12 Backend language
SQLAlchemy 2.0.36 Async ORM
PostgreSQL 16 Primary database
Redis Alpine Caching & rate limiting
Alembic 1.14.0 Database migrations
Pydantic 2.9.2 Data validation
python-jose 3.3.0 JWT tokens
passlib[bcrypt] 1.7.4 Password hashing
Gemini 2.5 Pro Gemini AI client
Groq Llama 3.3 Groq AI client

Frontend

Technology Version Purpose
React 18.x UI framework
Vite 5.x Build tool
Tailwind CSS 3.x Utility-first styling
React Router DOM 6.x Client-side routing
Axios 1.x HTTP client
Recharts 2.x Data visualization
Lucide React 0.383.0 Icons

DevOps

Tool Purpose
Docker + Docker Compose Multi-container orchestration
GitHub Actions CI/CD pipeline
pgAdmin PostgreSQL administration
Postman API testing

๐Ÿ—‚๏ธ Project Structure

student-management-system/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ api/              # 16 router modules (one per feature domain)
โ”‚   โ”‚   โ”œโ”€โ”€ models/           # 23 SQLAlchemy ORM models
โ”‚   โ”‚   โ”œโ”€โ”€ schemas/          # Pydantic request/response schemas
โ”‚   โ”‚   โ”œโ”€โ”€ services/         # Business logic (GPA, attendance, AI, audit)
โ”‚   โ”‚   โ”œโ”€โ”€ auth/             # JWT, bcrypt, RBAC permissions
โ”‚   โ”‚   โ”œโ”€โ”€ middleware/        # Rate limiter, request logger, error handler
โ”‚   โ”‚   โ””โ”€โ”€ database/         # Async connection factory, session management
โ”‚   โ”œโ”€โ”€ alembic/              # Migration scripts
โ”‚   โ””โ”€โ”€ tests/                # pytest test suites
โ”œโ”€โ”€ frontend/
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ apps/
โ”‚       โ”‚   โ”œโ”€โ”€ admin/        # Admin portal pages & layout
โ”‚       โ”‚   โ”œโ”€โ”€ faculty/      # Faculty portal pages & layout
โ”‚       โ”‚   โ””โ”€โ”€ student/      # Student portal pages & layout
โ”‚       โ”œโ”€โ”€ components/ui/    # Shared UI components
โ”‚       โ”œโ”€โ”€ services/         # Axios API client + AI service layer
โ”‚       โ”œโ”€โ”€ context/          # React AuthContext with role helpers
โ”‚       โ””โ”€โ”€ hooks/            # Custom hooks (useSessionState)
โ”œโ”€โ”€ .github/workflows/        # GitHub Actions CI/CD
โ”œโ”€โ”€ docker-compose.yml
โ””โ”€โ”€ StudentManagementSystem.postman_collection.json

๐Ÿค– AI Features (Anthropic Claude API)

1. Placement Eligibility Predictor

Analyzes a student's academic profile and returns:

  • Placement probability (0โ€“100%)
  • Target companies and eligible tiers (FAANG / Mid-tier / Service / Startup)
  • Skill gap analysis with priorities
  • Personalized 30-day preparation plan

2. Attendance Pattern Analyser

Processes full attendance history and returns:

  • Risk level (Safe / Warning / Critical)
  • Most skipped day and subject
  • Weekly trend (Improving / Stable / Declining)
  • Projected semester-end status and corrective action plan

3. Contextual AI Chatbot

  • Injected with student's live CGPA, attendance, fee dues, and enrolled courses
  • Multi-turn conversation with 6-message history
  • Available as a floating widget across all student portal pages
  • AI reports can be saved to the database for later reference

๐Ÿ”’ Security

  • bcrypt password hashing (12 work factor rounds)
  • JWT Bearer tokens (HS256, 30-minute expiry)
  • RBAC with centralized permission guards (require_admin, require_faculty_or_admin, require_any_role)
  • Ownership enforcement โ€” students can only access their own data
  • Rate limiting โ€” Redis sliding window, 100 req/min per IP
  • OTP password reset via email (6-digit, 15-minute expiry)
  • Audit logging โ€” every mutation recorded with user, entity, timestamp
  • Soft delete โ€” no hard deletion of student or faculty records

๐Ÿš€ Getting Started

Prerequisites

  • Docker & Docker Compose
  • Node.js 20+
  • Python 3.12

1. Clone the repository

git clone https://github.com/Nekilesh001/Student_Management_System.git
cd Dtudent_Management_System

2. Configure environment variables

Create backend/.env:

DATABASE_URL=postgresql+asyncpg://YOUR_Passwor/DB_NAME
SECRET_KEY=your_super_secret_key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
REDIS_URL=redis://localhost:6379
DEBUG=True
GROQ_API_KEY=YOUR_KEY
GEMINI_API_KEY=YOUR_KEY
MAIL_USERNAME=your_gmail@gmail.com
MAIL_PASSWORD=your_gmail_app_password
MAIL_FROM=your_gmail@gmail.com
MAIL_PORT=587
MAIL_SERVER=smtp.gmail.com

3. Start the full stack

docker compose up --build
Service URL
Backend API http://localhost:8000
Swagger UI http://localhost:8000/docs
ReDoc http://localhost:8000/redoc
Frontend http://localhost:5173
pgAdmin http://localhost:5050

4. Create admin account

curl -X POST http://localhost:8000/auth/create-admin \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "email": "admin@edu.com", "password": "Admin@123"}'

5. Run database migrations

docker exec sms-backend alembic upgrade head

๐Ÿงช Running Tests

# Inside the backend container
docker exec sms-backend pytest tests/ -v

Tests cover:

  • Auth: login, duplicate email, wrong password, JWT validity
  • Students: create, list (paginated), get by ID, 404, update, soft delete

๐Ÿ“ก API Overview

The backend exposes 50+ endpoints across 16 modules:

Module Endpoint Prefix Access
Authentication /auth Public + All roles
Students /students Admin / Own data
Faculty /faculty Admin / All roles
Departments /departments Admin / All roles
Courses /courses Admin / All roles
Enrollments /enrollments Admin / Faculty
Marks & GPA /marks Faculty / Own data
Attendance /attendance Faculty / Own data
Fees /fees Admin / Own data
Placement /placement Admin / Faculty / Own
AI Features /ai All roles
Notifications /notifications All roles
Documents /documents All roles
Audit Logs /audit Admin only
Bulk Import /bulk-import Admin only
Dashboard /dashboard/stats All roles (role-scoped)

Full interactive API documentation available at http://localhost:8000/docs


๐Ÿ“Š Project Metrics

Metric Value
API Endpoints 50+
Database Tables 23
Backend Modules 16
Frontend Pages 20+ (across 3 portals)
Pydantic Schemas 40+
Automated Tests 10
Docker Services 3
Estimated Lines of Code 8,000+
Seed Data Rows 1,200+

๐Ÿณ Docker Services

Service Image Port
sms-backend Python 3.12 slim 8000
sms-postgres postgres:16-alpine 5433
sms-redis redis:alpine 6379
sms-frontend node:20 โ†’ nginx:alpine 5173

๐Ÿ”ฎ Future Scope

  • Kubernetes deployment with Minikube for horizontal scaling
  • WebSocket notifications replacing 30-second polling
  • Celery + Redis task queue for bulk operations and report generation
  • Parent portal with read-only access to attendance, marks, fees
  • Smart Resume Builder โ€” AI-generated resume from student profile
  • Burnout detection โ€” behavioral signal analysis for at-risk students

๐Ÿ‘ค Author

NEKILESH
ML Engineer Intern โ€” ONEDATA SOFTWARE SOLUTIONS PRIVATE LIMITED
Project ยท 2026


๐Ÿ“„ License

This project was developed as part of an internship engagement and is intended for evaluation purposes.

About

Enterprise-grade Student Management System built with FastAPI, React, PostgreSQL, and Redis. Features JWT authentication, RBAC, GPA and attendance management, fee automation, AI-powered placement analytics, contextual chatbots, Docker deployment, and CI/CD integration.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors