A full-stack MERN application for tracking job applications with an integrated browser extension for quick entry.
- 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)
- Frontend: React 19, React Router, CSS3
- Backend: Node.js, Express 5, MongoDB
- Authentication: JWT, bcryptjs
- Build Tools: Vite, nodemon
- Node.js (v18+)
- MongoDB (local or Atlas)
- npm or yarn
-
Clone the repository
git clone https://github.com/amaan-19/jobtrack.git cd jobtrack -
Install server dependencies
cd server npm install -
Install client dependencies
cd ../client npm install -
Configure environment variables
Create
server/.env:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key PORT=3000 NODE_ENV=development
-
Start the backend server
cd server npm run dev -
Start the frontend (in a new terminal)
cd client npm run dev -
Access the application
- Web App:
http://localhost:5173 - API:
http://localhost:3000
- Web App:
Firefox:
- Navigate to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on
- Select
extension/manifest.json
Chrome:
- Navigate to
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select the
extensionfolder
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
POST /api/register- Create new user accountPOST /api/login- Authenticate userPOST /api/logout- End user sessionGET /api/me- Get current user
GET /api/jobs- Retrieve all applicationsPOST /api/jobs- Create new applicationPUT /api/jobs/:id- Update applicationDELETE /api/jobs/:id- Delete application
This project was created as part of CSE 330 coursework at Washington University in St. Louis.
Amaan Khan
GitHub
- Course: CSE 330 - Rapid Prototype Development and Creative Programming
- Institution: Washington University in St. Louis