Skip to content

Kratugautam99/JobOps-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💼 JobOps – Job Application Portal

A Full‑Stack Job Application Portal built as part of a Database Management System (DBMS) course. JobOps allows users to browse job listings, apply with a resume and profile photo, save jobs, track applications, and manage their account – all wrapped in a clean, responsive interface.

JobOps Dashboard


📑 Table of Contents


✨ Features

  • User Authentication – Register, login, change password, delete account.
  • Job Browsing – View all job postings with filters and search.
  • Application Management – Apply to jobs, upload resume and profile photo.
  • Saved Jobs – Bookmark jobs for later.
  • Profile Management – Update personal details and uploaded documents.
  • Admin Panel – (Optional) manage job listings and users.
  • Responsive UI – Works on desktop and mobile devices.

🖼️ Screenshots

All screenshots are located in the Demo_Media/ folder.

AboutPage
About Page
ApplicationPage
Application Page
AppliedJobs
Applied Jobs
ChangePassword
Change Password
ContactPage1
Contact Page Upper
ContactPage2
Contact Page Lower
DeleteAccount
Delete Account
JobDescription
Job Description
JobFilterPage
Job Filter Page
MainPage1
Main Page Upper
MainPage2
Main Page Lower
ProfilePage
Profile Page
RegistrationPage
Registration Page
LoginPage
Login Page
SavedJobs
Saved Jobs


⚙️ Tech Stack

Layer Technologies
Frontend React.js, Vite, Tailwind CSS, Axios
Backend Node.js, Express.js, Multer, JWT, bcrypt
Database MongoDB, Cloudinary API
File Storage Local File System and Cloudinary Image Store
Build Tools NPM, Nodemon, NVM

📁 Folder Structure

JobOps-Project/
|
├── Backend/                 
│   ├── config/
│   ├── controllers/
│   ├── models/
│   ├── routes/
│   ├── middleware/
│   ├── uploads/             
│   ├── server.js
│   ├── app.js
│   ├── .gitignore
│   ├── package-lock.json
│   └── package.json
|
├── Frontend/                
│   ├── public/
│   ├── src/
│   ├── .eslintrc.cjs
│   ├── .gitignore
│   ├── index.html
│   ├── package-lock.json
│   ├── package.json
│   ├── postcss.config.js
│   ├── README.md
│   ├── tailwind.config.js
│   ├── vercel.json
│   └── vite.config.js
|
├── Demo_Media/      
│   ├── AboutPage.png
│   ├── ApplicationPage.png        
│   ├── AppliedJobs.png
│   ├── ChangePassword.png
│   ├── ContactPage1.png
│   ├── ContactPage2.png
│   ├── DBMS_Project_Preview.mp4
│   ├── DeleteAccount.png
│   ├── JobDescription.png
│   ├── JobFilterPage.png
│   ├── LoginPage.png
│   ├── MainPage1.png
│   ├── MainPage2.png
│   ├── ProfilePage.png
│   ├── RegistrationPage.png
│   ├── SavedJobs.png
│   └── WebAppLogo.png
|
├── Test_Images/             
│   ├── SampleProfilePhoto.jpg
│   └── SampleResume.pdf
|
└── README.md (This File)

🚀 Getting Started

Prerequisites

  • Node.js (v22 or later, use "nvm" if needed) and npm installed.
  • MongoDB installed and running locally (use "mongod" command in terminal).
  • A code editor (VS Code recommended).

Backend Setup

  1. Navigate to the Backend folder:

    cd Backend
  2. Install dependencies:

    npm install
  3. Create environment configuration:

    • Copy config/config.sample.envconfig/config.env.
    • Fill in your database credentials and JWT secret.
  4. Set up the database:

    • Create a PostgreSQL database (e.g., jobops).
    • Run the SQL scripts (provided in config/db.sql if available) to create tables.
  5. Start the backend server:

    node server.js

    The server will run on http://localhost:5000 (or the port you set).


Frontend Setup

  1. Navigate to the Frontend folder:

    cd Frontend
  2. Install dependencies:

    npm install
  3. Configure API base URL:

    • Edit the .env file (or directly in src/api.js) to point to your backend URL.
  4. Run the development server:

    npm run dev

    The frontend will be available at http://localhost:5173.


Note: If you encounter dependency issues, try npm audit fix or npm audit fix --force.


🎬 Demo Video

Watch the full walkthrough on YouTube:

JobOps Demo


🐛 Troubleshooting

Issue Solution
Port conflict Change the port in config.env (backend) or vite.config.js (frontend).
Database connection fails Verify your PostgreSQL credentials and ensure the service is running.
Uploads not working Check that the uploads/ folder exists and has write permissions.
Missing environment variables Ensure config.env is present and contains all required keys.
npm install errors Use npm install --legacy-peer-deps if you face dependency conflicts.

📄 License

This project is for educational purposes. Feel free to use and modify it for your own learning.


📫 Contact

For questions, suggestions, or collaborations, reach out via GitHub or leave a comment on the demo video.


♦️ Happy Job Hunting!

About

A Full‑Stack Job Application Portal built as part of a Database Management System (DBMS) course. JobOps allows users to browse job listings, apply with a resume and profile photo, save jobs, track applications, and manage their account – all wrapped in a clean, responsive interface.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors