Skip to content

Education Management System that reimagines the website of Chhotanagpur Institute of Information Technology & Management (CIITM) DHANBAD! πŸš€ Our goal is to make best Institute Website in India Here we use Modern Technology like React js To improve User Exprience

License

Notifications You must be signed in to change notification settings

NexGenStudioDev/ciitm-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ“Œ Project Details


πŸ‘‹ About the Project

πŸ“Œ CIITM Dhanbad - Educational Institute Website

A comprehensive educational website built for CIITM Dhanbad with modern architecture, real-time features, and complete institutional management system. The platform provides seamless experience for students, administrators, and staff with advanced features like online admissions, payment processing, and dynamic content management.


✨ Key Features

πŸŽ“ Student Management System

  • Online Admission Process - Complete admission workflow with form validation
  • Student Dashboard - Personalized dashboard for students
  • Fee Management - Online fee payment with Razorpay integration
  • Grade & Academic Records - Track academic performance and records
  • Parent Information Management - Comprehensive parent/guardian data

πŸ” Authentication & Authorization

  • Multi-Role Login System - Separate access for students and admins
  • Google OAuth Integration - Quick login with Google accounts
  • Protected Routes - Role-based access control
  • Password Recovery - Forgot password and reset functionality
  • Secure Session Management - JWT token-based authentication

πŸ‘¨β€πŸ’Ό Admin Panel Features

  • Dynamic Dashboard - Real-time data visualization and analytics
  • Student Management - View, search, and manage student records
  • Course Management - Create and manage educational courses
  • Content Management - Update website content dynamically
  • Payment Tracking - Monitor fee payments and generate reports
  • Gallery Management - Upload and organize institutional images
  • Contact Management - Handle inquiries and contact requests

πŸ–ΌοΈ Media & Content Management

  • Album System - Create and manage photo albums
  • Image Gallery - Responsive image gallery with lightbox
  • Dynamic Content - Admin can update all website content
  • Testimonial System - Collect and manage student testimonials

πŸ’³ Payment Integration

  • Razorpay Gateway - Secure online payment processing
  • Fee Calculation - Automatic fee calculation and tracking
  • Payment History - Comprehensive payment records
  • Receipt Generation - Digital payment receipts

🌐 Real-time Features

  • Socket.IO Integration - Real-time data updates
  • Live Notifications - Instant updates and alerts
  • Real-time Dashboard - Live data synchronization

πŸ“± User Experience

  • Responsive Design - Works on all devices and screen sizes
  • Modern UI/UX - Clean and intuitive interface
  • Smooth Animations - GSAP-powered animations
  • SEO Optimized - React Helmet for meta tags and SEO
  • Fast Loading - Optimized performance with lazy loading

πŸ› οΈ Tech Stack

Frontend

  • βš›οΈ React 18.3.1 - Modern React with hooks and functional components
  • 🎨 Tailwind CSS 3.4.17 - Utility-first CSS framework
  • πŸ”„ Redux Toolkit - State management
  • πŸš€ Vite - Fast build tool and development server
  • πŸ“± React Router DOM - Client-side routing
  • 🎭 React Hook Form - Form handling and validation

Backend Integration

  • 🌐 Socket.IO Client - Real-time communication
  • πŸ“‘ Axios - HTTP client for API calls
  • πŸ”’ JWT Authentication - Secure authentication

UI & Animation Libraries

  • ✨ GSAP - Professional animations
  • 🎠 Swiper.js - Modern touch slider
  • 🎒 React Slick - Carousel component
  • 🎨 React Icons - Icon library
  • πŸ’« React Spinners - Loading animations

Payment & Utilities

  • πŸ’³ React Razorpay - Payment gateway integration
  • πŸ”” React Toastify - Toast notifications
  • 🍯 SweetAlert2 - Beautiful alert dialogs
  • 🧹 DOMPurify - XSS protection
  • πŸ“‹ Yup & Zod - Schema validation

Development Tools

  • πŸ”§ ESLint - Code linting
  • πŸ’„ Prettier - Code formatting
  • πŸ“¦ PostCSS - CSS processing
  • πŸ—οΈ SWC - Fast compilation

πŸ“ Project Structure

src/
β”œβ”€β”€ πŸ“ assets/              # Static assets (images, icons)
β”‚   β”œβ”€β”€ images/             # Image assets
β”‚   └── logo.svg           # App logo
β”œβ”€β”€ πŸ“ components/          # Reusable components
β”‚   β”œβ”€β”€ πŸ“ Atoms/          # Basic UI components
β”‚   β”‚   β”œβ”€β”€ Button/        # Button components
β”‚   β”‚   β”œβ”€β”€ Input/         # Input components
β”‚   β”‚   β”œβ”€β”€ Dropdown/      # Dropdown components
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ πŸ“ Molecules/      # Combined atom components
β”‚   β”‚   β”œβ”€β”€ Cards/         # Card components
β”‚   β”‚   β”œβ”€β”€ Loader/        # Loading components
β”‚   β”‚   └── Admin/         # Admin-specific molecules
β”‚   β”œβ”€β”€ πŸ“ Organisms/      # Complex components
β”‚   β”‚   β”œβ”€β”€ NavBar/        # Navigation components
β”‚   β”‚   β”œβ”€β”€ Footer/        # Footer components
β”‚   β”‚   β”œβ”€β”€ SideBar/       # Sidebar components
β”‚   β”‚   └── Admin/         # Admin organisms
β”‚   β”œβ”€β”€ πŸ“ Templates/      # Page templates
β”‚   β”‚   β”œβ”€β”€ Admin/         # Admin page templates
β”‚   β”‚   β”œβ”€β”€ home/          # Home page sections
β”‚   β”‚   β”œβ”€β”€ about/         # About page sections
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ πŸ“ Auth/           # Authentication components
β”‚   └── πŸ“ Protected/      # Protected route components
β”œβ”€β”€ πŸ“ pages/              # Page components
β”‚   β”œβ”€β”€ πŸ“ Admin/          # Admin pages
β”‚   β”‚   β”œβ”€β”€ DashboardPage.jsx
β”‚   β”‚   β”œβ”€β”€ StudentPage.jsx
β”‚   β”‚   β”œβ”€β”€ FeePay.jsx
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ Home.jsx
β”‚   β”œβ”€β”€ About.jsx
β”‚   └── ...
β”œβ”€β”€ πŸ“ store/              # Redux store and slices
β”‚   β”œβ”€β”€ appStore.js        # Main store configuration
β”‚   β”œβ”€β”€ AuthSlice.js       # Authentication state
β”‚   β”œβ”€β”€ homeSlice.js       # Home page state
β”‚   └── ...
β”œβ”€β”€ πŸ“ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ useHomeUi.js       # Home page data fetching
β”‚   β”œβ”€β”€ useAbout.js        # About page data fetching
β”‚   β”œβ”€β”€ useAlbum.js        # Album data management
β”‚   └── ...
β”œβ”€β”€ πŸ“ utils/              # Utility functions
β”‚   β”œβ”€β”€ apiUrl.js          # API configuration
β”‚   └── constants.js       # API endpoints
β”œβ”€β”€ πŸ“ validation/         # Form validation schemas
β”œβ”€β”€ πŸ“ service/            # API service functions
└── πŸ“ config/             # Configuration files
    └── socket.mjs         # Socket.IO configuration

πŸš€ Getting Started

πŸ“‹ Prerequisites

Before running this project, make sure you have the following installed:

  • Node.js (v18 or higher)
  • npm or yarn
  • Git

πŸ”§ Installation & Setup

  1. Clone the repository

    git clone https://github.com/Coder-Studies/ciitm-frontend.git
    cd ciitm-frontend
  2. Install dependencies

    npm install
  3. Environment Setup Create a .env file in the root directory and add:

    VITE_BACKEND_URL=your_backend_url
    VITE_RAZORPAY_KEY_ID=your_razorpay_key
  4. Start development server

    npm run dev
  5. Build for production

    npm run build

πŸ“œ Available Scripts

Script Description
npm run dev Start development server with hot reload
npm run build Build the project for production
npm run preview Preview the production build locally
npm run lint Run ESLint for code quality checks
npm run format Format code using Prettier

πŸ—οΈ Architecture & Design Patterns

Component Architecture

  • Atomic Design Pattern - Components organized as Atoms, Molecules, Organisms, and Templates
  • Functional Components - Modern React with hooks
  • Custom Hooks - Reusable logic for data fetching and state management
  • Higher-Order Components - Protected routes and authentication

State Management

  • Redux Toolkit - Centralized state management
  • Slice Pattern - Modular state slices for different features
  • Real-time Updates - Socket.IO integration for live data

API Integration

  • Axios Interceptors - Centralized HTTP client configuration
  • Custom Hooks - Data fetching and caching
  • Error Handling - Comprehensive error management
  • Socket.IO - Real-time communication

πŸ”§ Configuration Files

Development Configuration

  • vite.config.js - Vite build tool configuration
  • tailwind.config.js - Tailwind CSS customization
  • eslint.config.js - ESLint rules and plugins
  • postcss.config.js - PostCSS processing

Deployment Configuration

  • vercel.json - Vercel deployment settings with API proxying
  • package.json - Dependencies and build scripts

🌐 API Integration

Backend Communication

  • Base URL: Configurable via environment variables
  • Authentication: JWT token-based with automatic refresh
  • Real-time: Socket.IO for live updates
  • Error Handling: Centralized error management

Key API Endpoints

// Authentication
POST /api/v1/auth/login
POST /api/v1/auth/Admin/SignUp

// Student Management
GET /api/v1/students
POST /api/v1/students/create
PUT /api/v1/students/:id

// Payment Processing
POST /api/create/payment
POST /api/pay/verify

// Content Management
GET /api/v1/frontend
POST /api/v1/admin/course/create
GET /api/v1/albums

πŸ”’ Security Features

Authentication & Authorization

  • JWT token-based authentication
  • Role-based access control (Student/Admin)
  • Protected routes for sensitive areas
  • Automatic token refresh

Data Protection

  • DOMPurify for XSS prevention
  • Form validation with Yup/Zod schemas
  • HTTPS enforcement in production
  • Secure cookie handling

Payment Security

  • Razorpay PCI-compliant payment processing
  • Server-side payment verification
  • Encrypted payment data transmission

πŸ“± Responsive Design

Breakpoints

  • Mobile: 350px and up
  • Tablet: 1000px and up
  • Desktop: 1200px and up

Design Features

  • Mobile-first approach
  • Touch-friendly interface
  • Optimized images and assets
  • Smooth animations and transitions

πŸš€ Performance Optimizations

Code Optimization

  • Lazy Loading - Components loaded on demand
  • Code Splitting - Chunked bundles for faster loading
  • Tree Shaking - Unused code elimination
  • Minification - Compressed production builds

Asset Optimization

  • Image Optimization - WebP format and responsive images
  • Bundle Analysis - Optimized bundle sizes
  • Caching Strategies - Browser and CDN caching

πŸ§ͺ Testing & Quality Assurance

Code Quality

  • ESLint - Code linting and best practices
  • Prettier - Consistent code formatting
  • TypeScript-ready - Type safety preparation

Performance Monitoring

  • Real-time error tracking
  • Performance metrics monitoring
  • User experience optimization

πŸ”„ Development Workflow

Version Control

  • Git-based version control
  • Semantic commit messages
  • Feature branch workflow

Code Review Process

  • Pull request reviews
  • Automated testing on commits
  • Continuous integration ready

πŸ“š Dependencies Overview

Core Dependencies

{
   "react": "^18.3.1",
   "react-dom": "^18.3.1",
   "@reduxjs/toolkit": "^2.5.0",
   "react-redux": "^9.2.0",
   "react-router-dom": "^7.0.2"
}

UI & Styling

{
   "tailwindcss": "^3.4.17",
   "react-icons": "^5.5.0",
   "gsap": "^3.12.7",
   "swiper": "^11.2.1"
}

API & Real-time

{
   "axios": "^1.7.9",
   "socket.io-client": "^4.8.1",
   "react-razorpay": "^3.0.1"
}

🀝 Contributing

We welcome contributions to improve the CIITM Frontend project! Here's how you can contribute:

Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Contribution Guidelines

  • Follow the existing code style and conventions
  • Write clear and descriptive commit messages
  • Test your changes thoroughly
  • Update documentation if necessary
  • Ensure your code passes all linting checks

πŸ“ž Support & Contact

Get Help

Social Media

  • πŸ’Ό LinkedIn: Connect with the developer
  • 🐦 Twitter: Follow for updates
  • πŸ“˜ Facebook: Join our community

πŸ”„ Changelog

Version 1.0.0 (Current)

  • βœ… Complete authentication system
  • βœ… Student management dashboard
  • βœ… Payment integration with Razorpay
  • βœ… Real-time features with Socket.IO
  • βœ… Responsive design implementation
  • βœ… Admin panel with full CRUD operations

Upcoming Features

  • πŸ“§ Email notification system
  • πŸ“Š Advanced analytics dashboard
  • πŸ“± Mobile app development
  • πŸ”” Push notification support

πŸ† Acknowledgments

Special Thanks

  • React Team - For the amazing React framework
  • Tailwind CSS - For the utility-first CSS framework
  • Vercel - For excellent deployment platform
  • Open Source Community - For the incredible libraries and tools

Inspiration

This project was built to modernize educational institute management and provide a seamless experience for students and administrators.


πŸ“ˆ Project Stats

  • 🎯 Purpose: Educational Institute Management System
  • πŸ“… Development Time: Ongoing
  • πŸ—οΈ Architecture: React + Redux + Socket.IO
  • 🎨 Design System: Atomic Design Pattern
  • πŸ“± Responsive: Mobile-First Approach
  • πŸ”’ Security: JWT + Role-Based Access
  • πŸ’³ Payment: Razorpay Integration
  • πŸš€ Performance: Optimized for Speed

πŸ” License: Personal Contributor License v1.0

This project uses a special license to protect the code and allow fair use.

βœ… You Can:

  • Read and learn from the code
  • Contribute to this project
  • Show your accepted work in your portfolio (with credit)

❌ You Can’t:

  • Host this project on your own website or server
  • Sell or use the code for paid work, startups, or companies
  • Use it in teaching, courses, bootcamps, or training platforms without permission
  • Copy or publish the whole project or parts of it somewhere else

πŸ“Έ If You Add This to Your Portfolio:


⚠️ Legal Info:

If someone breaks the license:

  • A DMCA complaint may be filed
  • Hosting platforms like GitHub or Netlify may be notified
  • Legal steps may be taken if needed
  • This code is shared as-is β€” the author is not responsible for any issues or losses caused by using it

πŸ“¬ Contact:

For questions, permission, or legal concerns, reach out:

About

Education Management System that reimagines the website of Chhotanagpur Institute of Information Technology & Management (CIITM) DHANBAD! πŸš€ Our goal is to make best Institute Website in India Here we use Modern Technology like React js To improve User Exprience

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 19

Languages