JobTracker is a full-stack app for tracking job and internship applications. It includes authentication, application tracking, skills tracking, and contacts.
frontend/- React app built with Vitebackend/- Node.js and Express API
- Node.js 18+ recommended
- MongoDB connection string
- Gemini API key for job autofill
Create backend/.env from backend/.env.example and set:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=5000
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=gemini-2.5-flashInstall packages in both folders:
cd backend
npm install
cd ../frontend
npm installStart the backend:
cd backend
npm run devStart the frontend in a second terminal:
cd frontend
npm run devIf you are using a local frontend against the backend, set VITE_API_URL in frontend/.env to the backend URL, for example:
VITE_API_URL=http://localhost:5000Frontend production build:
cd frontend
npm run buildBackend tests:
cd backend
npm test- Register or log in.
- Add job applications from the Add Application page.
- Use auto-fill to extract company, position, and skills from a job URL.
- Manage skills and contacts from their tabs.
- Edit or delete existing entries from the main Applications table.
backend/routes/jobs.js- job CRUD, autofill, and skill frequencybackend/routes/auth.js- register and login endpointsfrontend/src/App.jsx- top-level routing and auth statefrontend/src/pages/Applications.jsx- applications dashboard and editingfrontend/src/pages/AddApplication.jsx- create and auto-fill applicationsfrontend/src/pages/Skills.jsx- personal skills listfrontend/src/pages/Contacts.jsx- contact list
The project output can be accessed from the Evaluation Environment, or from a site link provided by us.