JobTrackr is a full-stack web application to streamline job applications. It helps users manage applications, track progress, and receive reminders.
- User authentication (register, login, profile, Google login)
- Job management (add, edit, delete, status updates)
- Responsive UI (mobile/tablet/desktop)
- Sticky footer (always at the bottom)
- Email notifications for deadlines
- CSV export of job data
- Rate limit error banners
- Robust error and validation handling
- Consistent API response format:
{ success, data, error } - Toast notifications for feedback
Backend/: Node.js, Express, Prisma, PostgreSQL, JWT, Nodemailercontrollers/,middleware/,routes/,repositories/,utils/,cron/,prisma/,server.mjs
Frontend/: React, React Router, Tailwind CSS, Axiossrc/App.jsx,src/routes/AppRoutes.jsx,src/pages/,src/components/,src/context/,src/services/
-
Clone the repository
git clone https://github.com/purushothaman-web/JobTrackr.git cd JobTrackr -
Backend Setup
cd Backendnpm install- Create
.envfrom.env.exampleand update values. - Run migrations:
npx prisma generate npx prisma migrate dev
- Start server:
npm run dev(Runs on port 5000 by default)
-
Frontend Setup
cd ../Frontendnpm install- Create
.envfrom.env.exampleand set:VITE_API_URL=http://localhost:5000/api - Start dev server:
npm run dev
-
Access the app
- Open
http://localhost:3000in your browser.
- Open
See frontend/API_DOCS.md for frontend API usage.
- Ensure backend is running before starting frontend.
- Check
.envfiles for correct API/database URLs. - For migration issues, run
npx prisma migrate devagain.
- Fork the repo and create a feature branch.
- Submit pull requests with clear descriptions.
- See
CONTRIBUTING.mdfor guidelines (add this file if missing).
MIT (add a LICENSE file if missing)