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