Skip to content

Latest commit

ย 

History

41 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ Coaching Management System โ€“ Full-Stack Application

A comprehensive SaaS-style platform for efficient coaching institute operations management

๐ŸŒ Live Demo

Live URL: https://coaching360.vercel.app/


๐Ÿ“‹ Project Overview

The Coaching Management System is a real-world, production-ready SaaS application designed to streamline coaching institute operations. Built with modern web technologies, it serves multiple user roles including Super Admin, Admin, and Student, providing a comprehensive solution for educational institution management.

This system emphasizes scalability, maintainability, and clean architecture principles, making it suitable for both small coaching centers and large educational institutions.


โšก Key Features

๐Ÿ”ง Backend Architecture (Core Focus)

  • ๐Ÿ” Secure Authentication & Authorization System

    • JWT-based authentication with token expiration
    • Role-Based Access Control (Super Admin, Admin, Student)
    • Password encryption using industry-standard algorithms
    • Session management and security middleware
  • ๐Ÿ›ก๏ธ Robust API Infrastructure

    • Well-structured RESTful API endpoints
    • Comprehensive input validation and sanitization
    • Centralized error handling and logging
    • Environment-based configuration management
  • ๐Ÿ“Š Complete CRUD Operations

    • Student management (registration, profiles, status tracking)
    • Course management with detailed curriculum structure
    • Chapter-wise content organization
    • Advanced filtering, pagination, and search capabilities
  • ๐Ÿ—๏ธ Clean Architecture & Best Practices

    • Modular service-based backend architecture
    • Clear separation of concerns (Controllers, Services, Models)
    • Structured middleware pipeline
    • Comprehensive data validation and error responses
  • ๐Ÿ“ง Advanced Features

    • Email notification system with customizable templates
    • Student status tracking (Active, Inactive, Course Completed)
    • Notification preferences management
    • Health check endpoints for monitoring

๐ŸŽจ Frontend Capabilities

  • ๐Ÿ“ฑ Responsive & Modern UI

    • Material-UI components with custom theming
    • Dark/Light mode support with smooth transitions
    • Mobile-first responsive design
    • Intuitive user experience across all devices
  • ๐Ÿ”„ Seamless API Integration

    • Axios-based HTTP client with interceptors
    • Redux Toolkit for state management
    • Real-time form validation and error handling
    • Loading states and skeleton components
  • ๐Ÿ‘ฅ Role-Based Dashboards

    • Customized interfaces for different user roles
    • Interactive data visualization with charts
    • Multi-step forms with progress indicators
    • Advanced data tables with sorting and filtering

๐Ÿ›๏ธ High-Level System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    HTTP/REST API    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                 โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚                 โ”‚
โ”‚   Frontend      โ”‚                    โ”‚   Backend       โ”‚
โ”‚   (React SPA)   โ”‚                    โ”‚   (Node.js)     โ”‚
โ”‚                 โ”‚                    โ”‚                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                โ”‚
                                                โ”‚
                                                โ–ผ
                                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                       โ”‚                 โ”‚
                                       โ”‚    Database     โ”‚
                                       โ”‚   (MongoDB)     โ”‚
                                       โ”‚                 โ”‚
                                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

The frontend communicates with the backend through well-defined REST APIs, while the backend handles all business logic, authentication, and data processing. The database layer ensures structured and efficient data storage with proper indexing and relationships.


๐Ÿ“ Backend Folder Structure

backend/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ controllers/          # Request handlers and business logic
โ”‚   โ”‚   โ”œโ”€โ”€ student_controller.js
โ”‚   โ”‚   โ”œโ”€โ”€ course_controller.js
โ”‚   โ”‚   โ””โ”€โ”€ chapter_controller.js
โ”‚   โ”œโ”€โ”€ models/              # Database schemas and models
โ”‚   โ”‚   โ”œโ”€โ”€ student.js
โ”‚   โ”‚   โ”œโ”€โ”€ course.js
โ”‚   โ”‚   โ””โ”€โ”€ chapter.js
โ”‚   โ”œโ”€โ”€ routes/              # API route definitions
โ”‚   โ”‚   โ”œโ”€โ”€ index.js
โ”‚   โ”‚   โ”œโ”€โ”€ student.js
โ”‚   โ”‚   โ”œโ”€โ”€ course.js
โ”‚   โ”‚   โ””โ”€โ”€ chapter.js
โ”‚   โ”œโ”€โ”€ middleware/          # Authentication and validation
โ”‚   โ”‚   โ”œโ”€โ”€ auth.js
โ”‚   โ”‚   โ””โ”€โ”€ authMiddleware.js
โ”‚   โ”œโ”€โ”€ services/            # External service integrations
โ”‚   โ”‚   โ””โ”€โ”€ emailService.js
โ”‚   โ”œโ”€โ”€ config/              # Configuration management
โ”‚   โ”‚   โ”œโ”€โ”€ database.js
โ”‚   โ”‚   โ”œโ”€โ”€ cors.js
โ”‚   โ”‚   โ””โ”€โ”€ env.js
โ”‚   โ”œโ”€โ”€ constants/           # Application constants
โ”‚   โ”‚   โ”œโ”€โ”€ fields.constants.js
โ”‚   โ”‚   โ”œโ”€โ”€ message.constants.js
โ”‚   โ”‚   โ”œโ”€โ”€ status.constants.js
โ”‚   โ”‚   โ””โ”€โ”€ qualifications.json
โ”‚   โ”œโ”€โ”€ helpers/             # Utility functions
โ”‚   โ”‚   โ”œโ”€โ”€ responseStructure.js
โ”‚   โ”‚   โ””โ”€โ”€ security.js
โ”‚   โ”œโ”€โ”€ utils/               # Common utilities
โ”‚   โ”‚   โ””โ”€โ”€ objectDestructure.js
โ”‚   โ””โ”€โ”€ app.js               # Application entry point
โ”œโ”€โ”€ scripts/                 # Database seeding scripts
โ”‚   โ”œโ”€โ”€ addSuperAdmin.js
โ”‚   โ””โ”€โ”€ addDummyUser.js
โ”œโ”€โ”€ .env.example
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ server.js

๐Ÿš€ Installation & Setup

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (local or cloud instance)
  • Git

Backend Setup

# Clone the repository
git clone https://github.com/mdadnan2/Coaching-Management-System
cd coaching-management-app/backend

# Install dependencies
npm install

# Environment configuration
cp .env.example .env.development
# Configure your environment variables

# Start development server
npm run dev

Frontend Setup

# Navigate to frontend directory
cd ../frontend

# Install dependencies
npm install

# Configure environment
cp .env.example .env.development

# Start development server
npm start

๐Ÿ”Œ Sample API Endpoints

Authentication

POST /student/login          # User authentication

Student Management

GET    /student              # Get all students
POST   /student              # Register new student
GET    /student/:id          # Get single student
PUT    /student/:id          # Update student
DELETE /student/:id          # Deactivate student
GET    /student/qualification # Get qualification options

Course Management

GET    /course               # Get all courses
POST   /course               # Create new course
GET    /course/:id           # Get single course
PUT    /course/:id           # Update course
DELETE /course/:id           # Delete course

Chapter Management

GET    /chapter              # Get all chapters
POST   /chapter              # Create new chapter
GET    /chapter/:id          # Get single chapter
PUT    /chapter/:id          # Update chapter
DELETE /chapter/:id          # Delete chapter

๐Ÿ› ๏ธ Technology Stack

Backend

  • Runtime: Node.js with Express.js framework
  • Database: MongoDB with Mongoose ODM
  • Authentication: JWT (JSON Web Tokens)
  • Security: Crypto-js for encryption, CORS middleware
  • Email: Nodemailer for transactional emails
  • Validation: Custom validation with Mongoose schemas
  • Logging: Morgan for HTTP request logging

Frontend

  • Framework: React 18 with functional components
  • State Management: Redux Toolkit with Redux Persist
  • UI Library: Material-UI (MUI) with custom theming
  • HTTP Client: Axios with interceptors
  • Routing: React Router DOM v6
  • Animations: Framer Motion
  • Notifications: React Hot Toast

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ’ณ Payment Integration

    • Fee collection and payment tracking
    • Multiple payment gateway support
    • Automated invoice generation
  • ๐Ÿ”” Advanced Notifications System

    • Real-time push notifications
    • SMS integration for important updates
    • Email campaign management
  • ๐Ÿ“Š Analytics Dashboard

    • Student performance analytics
    • Course completion tracking
    • Revenue and enrollment insights
  • โ˜๏ธ Cloud Optimization

    • AWS/Azure deployment optimization
    • CDN integration for static assets
    • Database performance tuning
  • โšก Performance Improvements

    • API response caching
    • Database query optimization
    • Frontend code splitting and lazy loading

๐Ÿ‘จโ€๐Ÿ’ป Developer

Backend Development Focus: This project showcases expertise in building scalable, secure, and maintainable backend systems with modern Node.js practices, comprehensive API design, and robust data management solutions.



๐Ÿ“„ License

This project is open source and available under the MIT License.


๐Ÿ“ž Contact

Mohammad Adnan


๐Ÿ‘จ๐Ÿ’ป Developer

Backend Development Focus: This project showcases expertise in building scalable, secure, and maintainable backend systems with modern Node.js practices, comprehensive API design, and robust data management solutions.


โญ If you found this project inspiring, please give it a star!

Made with โค๏ธ by Mohammad Adnan

About

Full-stack coaching management system with React frontend and Node.js/Express backend. Features student management, course tracking, and authentication.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages