Advanced Training and Placement Department Education Platform with Real-time Features
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.
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
- 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
- Comprehensive dashboard
- Student management
- Course administration
- Live session management
- Resource allocation
- Performance analytics
- WebRTC-powered live classes
- Live Kit integration
- Instant messaging
- Real-time status updates
- Activity tracking
-
Clone and Install
git clone https://github.com/kushwahramkumar2003/Smart-TNP-education-app.git cd Smart-TNP-education-app npm install
-
Database Setup
cd packages/db ./setupDB.sh npx prisma migrate dev
-
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
-
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
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
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=
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Training and Placement Department faculty
- College administration
- All contributors
Thanks goes to these wonderful people:
Made with ❤️ by TNP Education App Team