Skip to content

AdityanVerma/intern-ops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‘ฅ Intern Management System

Full-stack web application designed to streamline the internship lifecycle process โ€” from onboarding to completion โ€” with role-based dashboards for HR and Mentors.

Live Demo

๐Ÿ”‘ Demo Access
HR: john.doe@company.com | Password: securePass!2025
Mentor: alice.smith@company.com | Password: mentorPass1CSE!2025

โš ๏ธ Note: Backend is hosted on Render free tier and may take a few seconds to wake up.


๐Ÿ“‘ Table of Contents


๐Ÿ“Œ Overview

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.


โ— Problem Statement

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.


โœจ Core Features

๐Ÿ” Role-Based Access Control (RBAC)

  • Separate HR & Mentor dashboards
  • Restricted actions based on user role

๐Ÿ“Š Internship Lifecycle Management

Intern status flow:

New โ†’ [Assign Mentor] โ†’ Undergoing โ†’ Completed โ†’ Certification

๐Ÿง‘โ€๐Ÿ’ผ HR Functionalities

  • Add interns (form / CSV)
  • Assign mentors
  • View categorized intern lists
  • Issue completion certificates
  • Monitor progress

๐Ÿ‘จโ€๐Ÿซ Mentor Functionalities

  • Accept / Reject assigned interns
  • Update internship progress
  • Submit reports
  • Mark interns as completed

โ˜๏ธ Cloud Integration

  • Cloudinary for media uploads
  • MongoDB Atlas for cloud database

๐Ÿ›  Tech Stack

๐ŸŽจ Frontend

โš™๏ธ Backend

๐Ÿ—„ Database

๐Ÿงช Development Tools


๐Ÿ›ก Security Implementation

  • JWT-based Authentication
  • Access & Refresh Token Strategy
  • Protected Routes via Middleware
  • Environment-based Configuration
  • Cloudinary Secure Media Upload

๐Ÿ–ผ Project Architecture

๐Ÿ”น Project Flow Diagram

Intern Management Portal Project Flow Diagram

๐Ÿ”น ER Diagram (Database Design)

Intern.Management.Portal.ER.Diagram


๐Ÿš€ Deployment

  • Frontend: Vercel
  • Backend: Render
  • Database: MongoDB Atlas
  • Media Storage: Cloudinary

๐Ÿง‘โ€๐Ÿ’ป Installation & Setup

If you prefer to run locally instead of using the live demo:

1๏ธโƒฃ Clone Repository

git clone https://github.com/AdityanVerma/intern-management-portal.git
cd intern-management-portal

2๏ธโƒฃ Install Dependencies

Backend:

cd backend
npm install

Frontend:

cd frontend
npm install

3๏ธโƒฃ Run the Application

Start Backend:

npm run dev

Start Frontend:

npm run dev

App runs at:

http://localhost:3000

๐Ÿ” Environment Variables

Create 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

๐Ÿ”ฎ Future Improvements

  • Performance Optimization & Code Refactoring
  • Certificate Generation
  • Role Hierarchy Expansion (Admin Panel)
  • Automated Email Notification System
  • PDF / Excel export
  • Docker support

๐Ÿ‘จโ€๐Ÿ’ป Author

Adityan Verma | Web Developer

GitHub: https://github.com/AdityanVerma
LinkedIn: https://www.linkedin.com/in/adityan-verma/
Email: adityanvermaa@gmail.com

Releases

No releases published

Packages

 
 
 

Contributors