Full-stack web application designed to streamline the internship lifecycle process — from onboarding to completion — with role-based dashboards for HR and Mentors.
🔑 Demo Access
HR: john.doe@company.com | Password: securePass!2025
Mentor: alice.smith@company.com | Password: mentorPass1CSE!2025
- Overview
- Problem Statement
- Core Features
- Tech Stack
- Security Implementation
- Project Architecture
- Deployment
- Environment Variables
- Installation & Setup
- Future Improvements
- Author
The Intern Management System is a centralized platform that streamlines internship management within an organization.
It enables:
- HR to manage interns and assign mentors
- Mentors to track and update intern progress
- Structured internship status tracking
- Controlled certificate issuance
- Role-based authentication & authorization
This project replicates a real-world internship management workflow with structured lifecycle tracking and secure role-based access control.
Managing interns manually using spreadsheets and emails often results in:
- Data inconsistency
- Lack of status visibility
- Delayed communication
- Manual certificate generation
- No centralized tracking system
This project solves these problems by introducing a role-based automated workflow system.
- Separate HR & Mentor dashboards
- Restricted actions based on user role
Intern status flow:
New → [Assign Mentor] → Undergoing → Completed → Certification- Add interns (form / CSV)
- Assign mentors
- View categorized intern lists
- Issue completion certificates
- Monitor progress
- Accept / Reject assigned interns
- Update internship progress
- Submit reports
- Mark interns as completed
- Cloudinary for media uploads
- MongoDB Atlas for cloud database
- JWT-based Authentication
- Access & Refresh Token Strategy
- Protected Routes via Middleware
- Environment-based Configuration
- Cloudinary Secure Media Upload
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
- Media Storage: Cloudinary
If you prefer to run locally instead of using the live demo:
git clone https://github.com/AdityanVerma/intern-management-portal.git
cd intern-management-portalBackend:
cd backend
npm installFrontend:
cd frontend
npm installStart Backend:
npm run devStart Frontend:
npm run devApp runs at:
http://localhost:3000Create a .env file inside the backend directory and add:
PORT=7000
CORS_ORIGIN=*
MONGODB_URI=your_mongodb_connection_string
ACCESS_TOKEN_SECRET=your_access_token_secret
ACCESS_TOKEN_EXPIRY=1d
REFRESH_TOKEN_SECRET=your_refresh_token_secret
REFRESH_TOKEN_EXPIRY=10d
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
- Performance Optimization & Code Refactoring
- Certificate Generation
- Role Hierarchy Expansion (Admin Panel)
- Automated Email Notification System
- PDF / Excel export
- Docker support
Adityan Verma | Web Developer
GitHub: https://github.com/AdityanVerma
LinkedIn: https://www.linkedin.com/in/adityan-verma/
Email: adityanvermaa@gmail.com

