Skip to content

Divya07-22/mongodb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Placement & Internship Tracker

A full-stack MERN application for managing student placements, internships, skills, and recruitment data with role-based dashboards for students and faculty.

🌐 Live Demo

Frontend: https://mongodb-r8l3.vercel.app/
Backend API: https://mongodb-ihbj.onrender.com

✨ Features

Student Portal

  • πŸ” Secure registration and JWT-based authentication
  • πŸ“Š Personal dashboard with analytics
  • πŸ’Ό Manage skills, certifications, and experience
  • πŸ“… Track interview schedules and outcomes
  • 🎯 Apply for internships and placements
  • πŸ“ˆ View placement statistics

Faculty Dashboard

  • πŸ‘₯ View all registered students
  • πŸ“‹ Manage recruiters and job postings
  • πŸ“Š Real-time placement analytics
  • πŸ” Track student progress
  • πŸ“ Query management system
  • πŸ“ˆ Generate reports

Admin Features

  • 🏒 Recruiter management (add, edit, delete)
  • πŸ“… Interview scheduling
  • πŸ’Ό Placement record management
  • πŸŽ“ Internship opportunity posting
  • πŸ“Š Comprehensive analytics

πŸ› οΈ Tech Stack

Frontend

  • React.js - UI library
  • React Router - Client-side routing
  • Axios - HTTP requests
  • CSS3 - Styling with glassmorphism effects

Backend

  • Node.js - Runtime environment
  • Express.js - Web framework
  • MongoDB - NoSQL database
  • Mongoose - ODM for MongoDB
  • JWT - Authentication
  • bcrypt.js - Password hashing

Deployment

  • Frontend: Vercel
  • Backend: Render
  • Database: MongoDB Atlas

πŸ“‚ Project Structure

placement-tracker/ β”œβ”€β”€ Backend/ β”‚ β”œβ”€β”€ controllers/ # Business logic β”‚ β”‚ β”œβ”€β”€ authController.js β”‚ β”‚ β”œβ”€β”€ studentController.js β”‚ β”‚ β”œβ”€β”€ facultyController.js β”‚ β”‚ β”œβ”€β”€ skillController.js β”‚ β”‚ β”œβ”€β”€ interviewController.js β”‚ β”‚ β”œβ”€β”€ placementController.js β”‚ β”‚ β”œβ”€β”€ internshipController.js β”‚ β”‚ └── recruiterController.js β”‚ β”œβ”€β”€ models/ # Database schemas β”‚ β”‚ β”œβ”€β”€ User.js β”‚ β”‚ β”œβ”€β”€ Student.js β”‚ β”‚ β”œβ”€β”€ Faculty.js β”‚ β”‚ β”œβ”€β”€ Skill.js β”‚ β”‚ β”œβ”€β”€ Interview.js β”‚ β”‚ β”œβ”€β”€ Placement.js β”‚ β”‚ β”œβ”€β”€ Internship.js β”‚ β”‚ └── Recruiter.js β”‚ β”œβ”€β”€ routes/ # API endpoints β”‚ β”œβ”€β”€ middleware/ # Auth & validation β”‚ β”œβ”€β”€ config/ # Configuration β”‚ └── server.js # Entry point β”‚ β”œβ”€β”€ Frontend/ β”‚ β”œβ”€β”€ public/ β”‚ β”œβ”€β”€ src/ β”‚ β”‚ β”œβ”€β”€ components/ # React components β”‚ β”‚ β”œβ”€β”€ pages/ # Page components β”‚ β”‚ β”œβ”€β”€ services/ # API service layer β”‚ β”‚ └── App.js β”‚ └── package.json β”‚ └── README.md

πŸš€ Getting Started

Prerequisites

  • Node.js (v18.x or higher)
  • MongoDB Atlas account
  • npm or yarn

Installation

  1. Clone the repository git clone https://github.com/Divya07-22/mongodb.git cd mongodb

  2. Backend Setup cd Backend npm install

Create .env file echo "MONGODB_URI=your_mongodb_connection_string" > .env echo "JWT_SECRET=your_jwt_secret_key" >> .env echo "PORT=5000" >> .env

Start backend server npm start

  1. Frontend Setup cd Frontend npm install

Start frontend development server npm start

The application will be running at:

  • Frontend: http://localhost:3000
  • Backend: http://localhost:5000

πŸ“‘ API Endpoints

Authentication

  • POST /api/auth/register - Register new user
  • POST /api/auth/login - User login

Students

  • GET /api/students - Get all students
  • GET /api/students/:id - Get student by ID
  • PUT /api/students/:id - Update student
  • DELETE /api/students/:id - Delete student

Skills

  • POST /api/skills - Add skill
  • GET /api/skills/student/:usn - Get student skills
  • DELETE /api/skills/:id - Delete skill

Placements

  • POST /api/placements - Add placement
  • GET /api/placements - Get all placements
  • GET /api/placements/student/:usn - Get student placements

Interviews

  • POST /api/interviews - Schedule interview
  • GET /api/interviews/student/:usn - Get student interviews
  • PUT /api/interviews/:id - Update interview status

Internships

  • POST /api/internships - Add internship
  • GET /api/internships - Get all internships
  • GET /api/internships/student/:usn - Get student internships

πŸ” Environment Variables

Backend (.env)

MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/placementTracker JWT_SECRET=your_secret_key_here PORT=5000

Frontend (.env)

REACT_APP_API_URL=https://mongodb-ihbj.onrender.com/api

🎨 Key Features Demonstrated

Authentication & Authorization

  • JWT-based secure authentication
  • Role-based access control (Student/Faculty)
  • Password hashing with bcrypt
  • Protected routes

Database Design

  • Normalized MongoDB schemas
  • Referential integrity with student USN
  • Efficient data relationships
  • Indexed queries for performance

Frontend Architecture

  • Component-based React design
  • Centralized API service layer
  • LocalStorage for session management
  • Responsive UI with glassmorphism

Deployment

  • Continuous deployment from GitHub
  • Environment variable management
  • Production-ready build optimization
  • CORS configuration

πŸ“Š Database Schema

User

  • email, password (hashed), role (student/faculty)

Student

  • studentname, usn (unique), email, phone, department, year
  • Links to Skills, Interviews, Placements, Internships

Skill

  • student (USN), skillName, proficiency, yearsOfExperience

Interview

  • student (USN), company, position, date, status

Placement

  • student (USN), company, position, package, offerDate

Internship

  • student (USN), company, position, duration, startDate

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is open source and available under the MIT License.

πŸ‘¨β€πŸ’» Author

Divya V

πŸ™ Acknowledgments

  • Built with MERN stack
  • Deployed on Vercel & Render
  • Database hosted on MongoDB Atlas

⭐ Star this repository if you find it helpful!

Live Demo: https://mongodb-r8l3.vercel.app/

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages