Skip to content

OpenLake/Centre-for-Career-Planning-and-Services-Portal

Repository files navigation

Centre-for-Career-Planning-and-Services-Portal

A robust Job Portal Application that streamlines job searching, application management, and community interactions for students, alumni, and CCPS professionals.Also Manages the HR Contacts,Logsand their responses(Upcomming).

Status: Deployed Development: Ongoing License: MIT

Pull Requests Merged Open Issues Contributors


Repository Links


Table of Contents

  1. About the Project
  2. Tech Stack
  3. Architecture
  4. Features
  5. Project Structure
  6. Getting Started
  7. Quick Start Guide
  8. Environment Variables Example
  9. Basic API Overview
  10. Common Issues & Troubleshooting
  11. Contribution Workflow
  12. Maintainers
  13. Contributing
  14. Contact

About the Project

↥ Back to top

The Job Portal Application is designed to simplify career development and job management for students, alumni, and CCPS professionals.

Problems Being Solved

  • Job Search Complexity: Advanced filters and personalized recommendations.
  • Application Tracking: Monitor application status and updates.
  • Community Engagement: Networking and alumni interactions.
  • Job Management: Tools for job postings and placement analytics.
  • User Authentication: Secure login and registration.

Target Audience

  • Students (internships, jobs)
  • CCPS Professionals (managing placements and analytics)
  • Alumni (career guidance, referrals)

Tech Stack

↥ Back to top

  • Frontend: React.js, Axios, React Hot Toast
  • Styling: Tailwind CSS
  • Backend: Node.js, Express.js, JWT Authentication
  • Database: MongoDB
  • Version Control: Git and GitHub

Architecture

↥ Back to top

Frontend

  • Components: Reusable React components (auth, job management, community, analytics).
  • Pages: Job listings, application status, analytics, community.
  • Styles: Responsive design using CSS/styled-components.
  • Utils: API helpers and constants.

Backend

  • Services: Business logic for jobs, applications, referrals, community, analytics.
  • Models: Schemas for users, jobs, applications, referrals, community data.
  • Controllers: API request handlers.
  • Routes: Endpoints for jobs, applications, users, community, analytics.
  • Utils: Database connection, middleware, logging.
  • Config: Environment variables and secrets.
  • Server: Initialization and setup.

Features

↥ Back to top

  • Job Feed: Personalized recommendations, search, and filters.
  • Job Posting Management: Create, edit, delete jobs with expiry control.
  • Application Tracking: Submit, track, and update applications.
  • Community Interaction: Alumni connections, discussions, and referrals.
  • Profile Management: Edit personal info and preferences.
  • Analytics & Reporting: Job performance metrics and application trends.

Project Structure

↥ Back to top

Centre-for-Career-Planning-and-Services-Portal/
│
├── backend/                     # Node.js + Express backend
│   ├── assets/                  # Static files or uploads 
│   ├── config/                  # Database & app configuration 
│   ├── controllers/             # Functions handling API requests/responses
│   ├── middleware/              # Middleware 
│   ├── models/                  # Mongoose schemas & data models
│   ├── routes/                  # API routes mapping endpoints to controllers
│   ├── utils/                   # Utility/helper functions
│   ├── .env                     # Environment variables 
│   ├── .env.example             # Example env file for setup
│   ├── .gitignore               # Git ignore rules
│   ├── readme.md                # Backend-specific documentation
│   └── server.js                # Entry point for Express server
│
├── frontend/                    # React + Vite frontend
│   ├── public/                  # Static assets served directly
│   └── src/                     # React source code
│       ├── api/                 # API call functions
│       ├── assets/              # Images, icons, fonts
│       ├── components/          # Reusable UI components
│       ├── context/             # React Context
│       ├── pages/               # Page-level components
│       ├── services/            # Service functions 
│       ├── styles/              # Global styles 
│       ├── utils/               # Utility/helper functions for frontend
│       ├── App.jsx              # Root React component
│       ├── index.css            # Global CSS entry
│       └── main.jsx             # React entry file
│
├── .env                         # Environment variables 
├── .env.example                 # Example environment file
├── .gitignore                   # Ignore build artifacts, node_modules, env files
├── eslint.config.js             # ESLint configuration
├── index.html                   # Vite main HTML template
├── package.json                 # Root dependencies & scripts 
├── package-lock.json            # Lockfile for npm dependencies
├── postcss.config.js            # PostCSS config 
├── style.css                    # Global stylesheet
├── tailwind.config.js           # Tailwind CSS configuration
├── vite.config.js               # Vite bundler config
└── README.md                    # Main project documentation


Getting Started

↥ Back to top

Prerequisites

  • Node.js
  • npm
  • MongoDB Atlas
  • React.js

Installation

  1. Clone the repository:

    git clone https://github.com/OpenLake/Centre-for-Career-Planning-and-Services-Portal
    cd Centre-for-Career-Planning-and-Services-Portal\
  2. Set up the backend:

    • Change to the backend directory:

      cd backend
    • Install backend dependencies:

      npm install
    • Set up environment variables:

      • Create a .env file in the backend directory.
      • Add the necessary environment variables as specified in the .env.example file.
    • Start the backend server:

      node server.js
  3. Set up the frontend:

    • Open a new terminal and change to the frontend directory:
      cd frontend
    • Install frontend dependencies:
      npm install
    • Start the frontend development server:
      npm run dev
  4. Open the application in your browser:

    • Navigate to http://localhost:5173 to view the frontend application.
    • The backend server should be running on http://localhost:5000 (or the port specified in your .env file).

Quick Start Guide

↥ Back to top

For quick local setup:

Backend

cd backend
npm install
node server.js

Frontend

cd frontend
npm install
npm run dev

Make sure backend is running before starting frontend.


Environment Variables Example

↥ Back to top

Create a .env file inside the backend directory with the following format:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key

Refer to .env.example file for required variables.


Basic API Overview

↥ Back to top

Some common API route categories:

  • /api/users → Authentication & user management
  • /api/jobs → Job postings and job feed
  • /api/applications → Application submission and tracking
  • /api/community → Alumni interactions & referrals
  • /api/analytics → Placement and job metrics

(Refer backend routes folder for full API structure)


Common Issues & Troubleshooting

↥ Back to top

  • Ensure MongoDB Atlas connection string is correct
  • Backend must be running before frontend
  • Check API base URL configuration in frontend services
  • Make sure required environment variables are set

Contribution Workflow

↥ Back to top

To contribute:

  1. Fork the repository
  2. Clone your fork locally
  3. Create a new feature branch
  4. Make your changes
  5. Commit with clear messages
  6. Push to your fork
  7. Open a Pull Request

Please describe your changes clearly in the PR.


Maintainers

↥ Back to top

This project is maintained by:


Contributing

↥ Back to top

We welcome contributions! Feel free to open an issue or submit a pull request. Before contributing, please make sure to:

  1. Fork the repository.
  2. Create a new branch.
  3. Submit a pull request with your changes.

Contact

↥ Back to top

If you have any questions or feedback, feel free to reach out to the maintainers.

About

A specialized job posting platform designed for IIT Bhilai students. The platform aims to bridge the gap between students and the placement cell.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages