Skip to content

amaan-19/JobTrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JobTrack

A full-stack MERN application for tracking job applications with an integrated browser extension for quick entry.

Features

  • User Authentication - Secure registration and login with JWT tokens
  • Application Management - Create, view, edit, and delete job applications
  • Status Tracking - Filter applications by status (Applied, Interviewing, Offer, Rejected)
  • Data Export - Export application data to CSV format
  • Browser Extension - Quick-add functionality from any webpage (Firefox & Chrome)

Tech Stack

  • Frontend: React 19, React Router, CSS3
  • Backend: Node.js, Express 5, MongoDB
  • Authentication: JWT, bcryptjs
  • Build Tools: Vite, nodemon

Getting Started

Prerequisites

  • Node.js (v18+)
  • MongoDB (local or Atlas)
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/amaan-19/jobtrack.git
    cd jobtrack
  2. Install server dependencies

    cd server
    npm install
  3. Install client dependencies

    cd ../client
    npm install
  4. Configure environment variables

    Create server/.env:

    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret_key
    PORT=3000
    NODE_ENV=development
    

Running the Application

  1. Start the backend server

    cd server
    npm run dev
  2. Start the frontend (in a new terminal)

    cd client
    npm run dev
  3. Access the application

    • Web App: http://localhost:5173
    • API: http://localhost:3000

Browser Extension Setup

Firefox:

  1. Navigate to about:debugging#/runtime/this-firefox
  2. Click Load Temporary Add-on
  3. Select extension/manifest.json

Chrome:

  1. Navigate to chrome://extensions
  2. Enable Developer mode
  3. Click Load unpacked
  4. Select the extension folder

Project Structure

jobtrack/
├── client/                # React frontend
│   ├── src/
│   │   ├── components/   # React components
│   │   └── styles/       # CSS files
│   └── vite.config.js    # Vite configuration
├── server/               # Express backend
│   ├── models/          # MongoDB models
│   └── server.js        # API routes & server setup
└── extension/           # Browser extension
    ├── manifest.json    # Extension configuration
    └── popup.html       # Extension UI

API Endpoints

Authentication

  • POST /api/register - Create new user account
  • POST /api/login - Authenticate user
  • POST /api/logout - End user session
  • GET /api/me - Get current user

Job Applications

  • GET /api/jobs - Retrieve all applications
  • POST /api/jobs - Create new application
  • PUT /api/jobs/:id - Update application
  • DELETE /api/jobs/:id - Delete application

License

This project was created as part of CSE 330 coursework at Washington University in St. Louis.

Author

Amaan Khan
GitHub

Acknowledgments

  • Course: CSE 330 - Rapid Prototype Development and Creative Programming
  • Institution: Washington University in St. Louis

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •