A comprehensive full-stack web application for managing internship programs, designed to streamline the coordination between students, faculty advisors, and administrators.
- Internship Registration: Add and track internship details including company information, stipend, and documents
- Weekly Reports: Submit weekly internship reports with working hours and progress updates
- Profile Management: Manage personal information and view internship history
- Company Directory: Browse and search verified companies
- Student Monitoring: View and manage assigned students' internship progress
- Report Evaluation: Grade weekly reports and provide feedback
- Batch Management: Filter and view students by internship type
- Company Oversight: Access company information for student placements
- User Management: Manage students, faculty, and admin accounts
- Faculty Assignment: Assign faculty members to student batches
- Company Verification: Verify and manage company registrations
- System Overview: Monitor all internships and reports across the system
- React 19 - UI library
- React Router v7 - Client-side routing
- Vite - Build tool and dev server
- TailwindCSS v4 - Utility-first CSS framework
- Motion - Animation library
- Tabler Icons - Icon set
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
- JWT - Authentication
- bcryptjs - Password hashing
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn
- MongoDB (local installation or MongoDB Atlas account)
git clone https://github.com/KushalvDesai/Internpool.git
cd Internpool# Navigate to backend directory
cd be
# Install dependencies
npm install
# Create .env file
# Add the following variables:
PORT=3000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
# Start the backend server
npm start
# Or use nodemon for development
npm run server# Navigate to frontend directory (from root)
cd fe
# Install dependencies
npm install
# Start the development server
npm run devThe application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
POST /auth/signup- Register new userPOST /auth/login- User login
GET /student/profile- Get student profileGET /student/internships- Get student's internshipsPOST /student/internship- Create internship recordGET /student/reports- Get student's reportsPOST /student/report- Create new reportPOST /student/report/:reportId/weekly- Submit weekly report
GET /faculty/students- Get assigned studentsGET /faculty/students/internshipType/:type- Filter students by typeGET /faculty/students/:studentId- Get specific student detailsGET /faculty/reports/:studentId- Get student's reportsPUT /faculty/report/grade/:reportId- Grade a report
GET /admin/students- Get all studentsGET /admin/faculty- Get all facultyGET /admin/companies- Get all companiesPUT /admin/faculty/:facultyId/assign- Assign faculty to batch
GET /api/company- Get all companiesGET /api/company/:id- Get company by IDPOST /api/company- Create new companyPUT /api/company/:id- Update companyDELETE /api/company/:id- Delete company
- 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
- Kushal Desai - KushalvDesai
- Aaleya Boxwala - aaleya5