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