Skip to content

kushwahramkumar2003/Smart-TNP-education-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

πŸŽ“ Smart TNP Education Platform

GitHub stars GitHub forks GitHub issues GitHub license

Advanced Training and Placement Department Education Platform with Real-time Features

Report Bug β€’ Request Feature

🌟 Overview

Smart TNP Education Platform is a modern, feature-rich online learning system built specifically for college Training and Placement departments. Using a turborepo monorepo structure, it delivers a seamless experience across student and administrative portals with real-time communication capabilities.

πŸ’» Technology Stack

Frontend

React TypeScript Vite TailwindCSS Framer Motion Recoil

Backend

Node.js Express PostgreSQL Prisma WebSocket

Cloud & DevOps

AWS Docker GitHub Actions Vercel

πŸ—οΈ Project Structure

Smart-TNP-education-app/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ web/                 # Student portal (Vite + React)
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ components/  # Reusable UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ pages/      # Route pages
β”‚   β”‚   β”‚   β”œβ”€β”€ hooks/      # Custom React hooks
β”‚   β”‚   β”‚   β”œβ”€β”€ services/   # API services
β”‚   β”‚   β”‚   β”œβ”€β”€ store/      # Recoil state management
β”‚   β”‚   β”‚   └── types/      # TypeScript types
β”‚   β”‚   
β”‚   β”œβ”€β”€ admin/              # Admin portal
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ components/ # Admin UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ pages/     # Admin routes
β”‚   β”‚   β”‚   β”œβ”€β”€ hooks/     # Admin-specific hooks
β”‚   β”‚   β”‚   └── services/  # Admin API services
β”‚   β”‚   
β”‚   β”œβ”€β”€ api/                # Main backend service
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”‚   β”œβ”€β”€ middlewares/
β”‚   β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”‚   └── services/
β”‚   β”‚   └── Dockerfile
β”‚   β”‚   
β”‚   └── ws/                 # WebSocket service
β”‚       └── src/
β”‚           β”œβ”€β”€ index.js
β”‚           └── prisma.js
β”‚
β”œβ”€β”€ packages/               # Shared packages
β”‚   β”œβ”€β”€ ui/                # Shared UI components
β”‚   β”œβ”€β”€ store/             # Shared state management
β”‚   β”œβ”€β”€ config-typescript/ # TypeScript configs
β”‚   β”œβ”€β”€ config-eslint/     # ESLint configs
β”‚   β”œβ”€β”€ tailwind-config/   # Tailwind configs
β”‚   └── db/                # Database package
β”‚       └── prisma/        # Prisma schema & migrations
β”‚
└── turbo.json             # Turborepo config

✨ Key Features

πŸŽ“ Student Portal (Web)

  • Live virtual classrooms using WebRTC
  • Real-time notifications via WebSocket
  • Course enrollment and tracking
  • Assignment submission with AWS S3
  • Interactive UI with Framer Motion animations
  • Secure authentication with JWT

πŸ‘¨β€πŸ’Ό Admin Portal

  • Comprehensive dashboard
  • Student management
  • Course administration
  • Live session management
  • Resource allocation
  • Performance analytics

πŸ”„ Real-time Features

  • WebRTC-powered live classes
  • Live Kit integration
  • Instant messaging
  • Real-time status updates
  • Activity tracking

πŸ› οΈ Development Setup

  1. Clone and Install

    git clone https://github.com/kushwahramkumar2003/Smart-TNP-education-app.git
    cd Smart-TNP-education-app
    npm install
  2. Database Setup

    cd packages/db
    ./setupDB.sh
    npx prisma migrate dev
  3. Environment Configuration

    # Set up environment files for each app
    cp apps/api/.env.example apps/api/.env
    cp apps/web/.env.example apps/web/.env
    cp apps/admin/.env.example apps/admin/.env
    cp apps/ws/.env.example apps/ws/.env
  4. Start Development Services

    # Start all services
    npm run dev
    
    # Start specific apps
    npm run dev --filter=web
    npm run dev --filter=admin
    npm run dev --filter=api
    npm run dev --filter=ws

πŸš€ Deployment

The project uses GitHub Actions for CI/CD and deploys to:

  • Frontend: Vercel
  • Backend: AWS (with Docker containers)
  • Database: AWS RDS (PostgreSQL)
  • WebSocket: AWS EC2

πŸ”’ Environment Variables

Required environment variables for each app:

# apps/api/.env
DATABASE_URL=
JWT_SECRET=
AWS_ACCESS_KEY=
AWS_SECRET_KEY=
AWS_BUCKET_NAME=

# apps/web/.env & apps/admin/.env
VITE_API_URL=
VITE_WS_URL=

# apps/ws/.env
DATABASE_URL=
WS_PORT=

🀝 Contributing

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

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Training and Placement Department faculty
  • College administration
  • All contributors

πŸ‘₯ Contributors

Thanks goes to these wonderful people:


Made with ❀️ by TNP Education App Team

⬆ Back to Top