Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intern/Course Management Portal

A full-stack MERN application for managing internships, courses, enrollments, assignments, and certificates.

Tech Stack

  • Backend: Node.js, Express, Mongoose, JWT, bcryptjs, Multer, PDFKit
  • Frontend: React (Vite), React Router, Tailwind CSS (CDN), Axios, Recharts, Lucide Icons

Prerequisites

  • Node.js (v18+)
  • MongoDB (running locally or Atlas URI)

Setup

1. Backend

cd backend
cp .env.example .env        # edit MONGO_URI and JWT_SECRET
npm install
npm run seed                 # seed demo data (admin, instructors, students, courses)
npm run dev                  # starts on http://localhost:5000

2. Frontend

cd frontend
npm install
npm run dev                  # starts on http://localhost:5173

The Vite dev server proxies /api requests to the backend on port 5000.

Demo Credentials

Role Email Password
Admin admin@portal.com admin123
Instructor sarah@portal.com instructor123
Student alex@student.com student123

Features

  • Students: Browse and enroll in courses, track progress, submit assignments, download PDF certificates
  • Instructors: Create courses, view enrolled students, grade assignments with feedback
  • Admin: Full access to all data, manage users/courses, view analytics dashboard with Recharts

Project Structure

/backend
  /config        - MongoDB connection
  /models        - User, Course, Enrollment, Assignment
  /middleware     - JWT auth, role authorization, file upload
  /routes        - REST API endpoints
  seed.js        - Database seed script
/frontend
  /src
    /api         - Axios instance with JWT interceptor
    /context     - AuthContext (login, register, logout)
    /components  - Layout with sidebar navigation
    /pages       - All page components

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages