A full-stack *Job Application Tracking System-- built using the MERN stack (MongoDB, Express, React, Node.js). This application helps users track their job applications, manage statuses, and stay organized during their job search.
Built with clean architecture, scalable folder structure, and professional Git practices.
- Job Application Tracker
The *Job Application Tracker-- is a real-world MERN application designed to simulate how production-grade applications are built.
Users can:
-- Register and log in securely -- Create and manage job applications -- Track application status (Applied, Interview, Offer, Rejected) -- View everything in a clean dashboard
This project is built end-to-end, focusing on: -- Clean backend APIs -- Secure authentication -- Scalable frontend architecture -- Optimized data fetching and caching -- Professional Git usage
-- User Registration & Login -- Password hashing using bcrypt -- JWT-based authentication -- Protected routes using middleware
-- Create job applications -- Update job status -- Delete applications -- Filter, sort, and search jobs -- Pagination support for scalable data handling
-- View and update profile -- Secure user-specific data access
-- Server state management using React Query -- API caching and background refetching -- Optimistic UI updates for better UX -- Toast notifications for success/error feedback -- Skeleton loading UI for improved perceived performance -- Error boundaries for graceful error handling
-- Unit testing using Vitest -- API mocking using MSW (Mock Service Worker) -- Component testing with React Testing Library
-- Modular backend architecture -- Separation of concerns -- Centralized API handling using Axios interceptors -- Clean commit history following conventional commits -- Environment-based configuration
-- React (Vite) -- React Router -- React Query -- Axios -- Context API -- React Hook Form + Zod -- TailwindCSS -- react-hot-toast -- react-loading-skeleton
-- Node.js -- Express.js -- MongoDB -- Mongoose -- JWT -- bcrypt -- dotenv -- cors
-- Vitest -- MSW (Mock Service Worker) -- React Testing Library
-- Git & GitHub -- Nodemon -- Postman
Client (React)
↓ Axios + React Query
REST API (Express + Node)
↓ Mongoose
MongoDB Database
job-application-tracker/
│
├── backend/
│ ├── src/
│ │ ├── config/ # DB & app configuration
│ │ ├── controllers/ # Request handlers
│ │ ├── models/ # Mongoose schemas
│ │ ├── routes/ # API routes
│ │ ├── middlewares/ # Auth & error handling
│ │ ├── utils/ # Helper functions
│ │ └── server.js # App entry point
│ ├── .env
│ └── package.json
│
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page-level components
│ │ ├── context/ # Global state management
│ │ ├── api/ # API layer (Axios + React Query)
│ │ ├── hooks/ # Custom hooks
│ │ └── App.jsx
│ └── package.json
│
└── README.md
POST /api/auth/register
POST /api/auth/login
GET /api/jobs
POST /api/jobs
PUT /api/jobs/:id
DELETE /api/jobs/:id
GET /api/jobs/stats
Create a .env file inside the backend folder:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secretgit clone https://github.com/your-username/job-tracker-mern.git
cd job-tracker-merncd backend
npm install
npm run devBackend runs on:
http://localhost:5000
cd frontend
npm install
npm run devFrontend runs on:
http://localhost:5173
| Service | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend | http://localhost:5000 |
We follow Conventional Commits:
feat: add new feature
fix: fix a bug
chore: setup or configuration
refactor: code improvement
docs: documentation changes
perf: performance improvements
test: add or update tests
-- Charts & analytics dashboard -- Resume upload (Cloudinary) -- Email notifications -- Role-based access control -- Deployment (Render / Vercel) -- End-to-End testing (Playwright)
By building this project, you will learn:
-- Full-stack MERN development -- Secure authentication flows -- REST API design -- MongoDB data modeling -- Frontend–backend integration -- Server state management with React Query -- Testing strategies using Vitest and MSW -- Performance optimization techniques -- Professional Git practices
This project is licensed under the MIT License.