A fullβstack placement & training platform designed for colleges and universities to manage students, companies, recruiters, jobs, and analytics in one place.
This repository contains both backend and frontend code with clear setup instructions, APIs, and troubleshooting steps.
The TnP AI Platform simplifies placement operations by providing:
- Centralized job & recruiter management
- Student profiles similar to Haveloc-style portals
- Realβtime analytics and dashboards
- Secure authentication using Clerk
- Scalable backend APIs with Express.js
- React 18 + TypeScript
- Vite β Fast build tool
- Material UI (MUI) + Radix UI
- Tailwind CSS for styling
- Clerk β Authentication
- Recharts β Charts & analytics
- Node.js
- Express.js β REST API
- CORS enabled
- Inβmemory JSON data (easy to replace with DB later)
hackto/
βββ backend/ # Express.js API server
β βββ server.js # Main backend server (Port 5000)
β βββ package.json
β βββ README.md
βββ frontend/ # React + TypeScript + Vite app
β βββ src/
β β βββ app/
β β βββ App.tsx
β β βββ components/
β βββ .env # Environment variables
β βββ package.json
β βββ vite.config.ts
βββ STARTUP_GUIDE.md
βββ FEATURES.md
βββ README.md
IMPORTANT: You must run both backend and frontend servers.
cd backend
npm install
npm startExpected output:
π Backend server running on http://localhost:5000
π Jobs API available at http://localhost:5000/api/jobs/enriched
π’ Companies API available at http://localhost:5000/api/companies
π₯ Recruiters API available at http://localhost:5000/api/recruiters
β
Health check at http://localhost:5000/api/health
cd frontend
npm install
npm run devExpected output:
VITE ready in xxxx ms
β Local: http://localhost:5173/
-
Backend Health Check Open:
http://localhost:5000/api/healthExpected response:
{"status":"ok","message":"Backend server is running"} -
Frontend App Open:
http://localhost:5173
VITE_CLERK_PUBLISHABLE_KEY=pk_test_xxxxxxxxx
CLERK_SECRET_KEY=sk_test_xxxxxxxxx
VITE_API_BASE_URL=http://localhost:5000
VITE_MOCK_INTERVIEW_URL=https://cpduel.dev- File name must be exactly
.env - Must be inside
frontend/ - Restart frontend after changes
Base URL: http://localhost:5000
GET /api/health
GET /api/jobs/enrichedGET /api/jobs/:id
GET /api/companiesGET /api/companies/:id
GET /api/recruitersGET /api/recruiters?companyId=:idGET /api/recruiters/:id
- Complete profile (26+ sections)
- Job discovery with filters
- Application tracking
- Document uploads
- Company insights
- Blogs & experiences
- Points & ranking system
- Student management
- Company directory
- Recruiter database
- Analytics dashboard
- Mock interview system
- Document verification
- Inβapp messaging
- Audio calling
- Video calling
- Dark / Light mode
Most common reason: Backend not running
cd backend
npm startEnsure in frontend/.env:
VITE_API_BASE_URL=http://localhost:5000localhost, not 127.0.0.1
netstat -ano | findstr :5000
taskkill /PID <PID> /FOr change backend port and update frontend .env.
package.json highlights:
- Express.js server
- CORS enabled
- Nodemon for development
Scripts:
npm start # Production
npm run dev # Developmentnpm install --production
node server.jsnpm run buildServe the dist/ folder using any static hosting.
Backend includes demo data for:
- 15+ Jobs
- 8 Companies
- 12 Recruiters
- Fork the repository
- Create a feature branch
- Commit changes
- Push to branch
- Open a Pull Request
MIT License
- STARTUP_GUIDE.md β Detailed setup
- FEATURES.md β Full feature list
- backend/README.md β Backend API docs