cbit-placement-cell

CBIT Placement Cell Web Application

Overview

This is a web-based application designed for the CBIT Placement Cell to manage and streamline the placement process. The application allows students to register, apply for job opportunities, and view placement statistics. Recruiters can post job openings, and the admin can manage placement drives efficiently.

The project is built using the MERN stack with additional dependencies such as Argon2 for password hashing, Express-Session for session management, and Nodemailer for email notifications.


Features

For Students:

For Recruiters:

For Admins:

Other Functionalities:


Tech Stack

Frontend:

Backend:

Database:

Authentication & Security:

Other Tools & Libraries:


Installation Guide

Prerequisites

Make sure you have the following installed:

Setup Steps

  1. Clone the repository:
    git clone https://github.com/yourusername/cbit-placement-cell.git
    cd cbit-placement-cell
    
  2. Install dependencies:
    npm install
    
  3. Configure environment variables:
    • Create a .env file in the project root.
    • Add the following environment variables:
      PORT=3000
      MONGO_URI=mongodb://localhost:27017/cbit_placement_cell
      SESSION_SECRET=your_secret_key
      EMAIL_USER=your_email@gmail.com
      EMAIL_PASS=your_email_password
      
  4. Start the MongoDB server (if running locally):
    mongod
    
  5. Go to src directory:
    cd src
    
  6. Run the application:
    npm start
    

    or using Nodemon (for development):

    nodemon app.js
    
  7. Visit in the browser:

API Endpoints

Authentication

| Method | Endpoint | Description | |——–|———-|————-| | POST | /signin | Register a new user | | POST | /login | User login |

Job Opportunities

| Method | Endpoint | Description | |——–|———-|————-| | GET | /placement_drive | View all job postings | | GET | /placement_drive/:zz | View a specific job posting | | POST | /add_oppr | Add a new job posting |

Recruitment & Statistics

| Method | Endpoint | Description | |——–|———-|————-| | GET | /recruited | View recruited students | | GET | /stats | View placement statistics | | POST | /adding_rec | Add recruitment details |

Contact

| Method | Endpoint | Description | |——–|———-|————-| | POST | /contact | Send a message to the admin |


Project Structure

📁 cbit-placement-cell
│-- 📁 public             # Static files (CSS, JS, images)
│-- 📁 src
|    │--📄 app.js         # Main Express application
│-- 📁 views              # web pages
│-- 📄 package.json       # Dependencies and scripts

Contributors

If you’d like to contribute, feel free to submit a pull request or open an issue.


License

This project is licensed under the MIT License - see the LICENSE file for details.