A full-stack web application designed to help students organize and track their job search process effectively.
Student Job Tracker is a comprehensive solution for students navigating the job market. It provides tools to manage job applications, track interview progress, and visualize job search metrics through an intuitive interface.
This repository contains both frontend and backend components:
student-job-tracker/
├── Frontend/ # React application
└── Backend/ # Express API server
- Framework: React 19 with TypeScript
- UI/Styling: Tailwind CSS 4
- Build Tool: Vite 6
- Authentication: Clerk
- Routing: React Router 7
- Icons: Lucide React
- State Management: React's built-in hooks
- Responsive Dashboard: Visual representation of application statistics
- Application Management: Add, edit, and delete job applications
- Status Tracking: Monitor progress from application to offer
- User Authentication: Secure login and registration via Clerk
- Mobile-Friendly Design: Optimized for all device sizes
-
Navigate to the Frontend directory:
cd Frontend -
Install dependencies:
npm install
-
Create a
.envfile with your Clerk publishable key:VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key VITE_API_URL=http://localhost:3000 -
Start the development server:
npm run dev
-
Access the application at
http://localhost:5173
- Runtime: Node.js
- Framework: Express.js 5
- Database: MongoDB with Mongoose ODM
- Authentication: Custom middleware (with userId query parameter)
- API: RESTful architecture
- Development: Nodemon for hot reloading
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| GET | /jobs | Retrieve all job applications for a user | Yes (userId) |
| POST | /jobs | Create a new job application | Yes (userId) |
| PUT | /jobs/:id | Update an existing job application | Yes (userId) |
| DELETE | /jobs/:id | Delete a job application | Yes (userId) |
Job Application Schema:
- Company name
- Position/Role
- Application status (Applied, Interview, Offer, Rejected)
- Application date
- Notes
- User ID (for association)
- Additional metadata
-
Navigate to the Backend directory:
cd Backend -
Install dependencies:
npm install
-
Create a
.envfile with the following variables:PORT=3000 MONGO_URI=mongodb://localhost:27017/job-tracker -
Start the development server:
npm start
-
The API will be available at
http://localhost:3000
cd Frontend
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run linting
npm run preview # Preview production buildcd Backend
npm start # Start server with nodemon for auto-reloadingThe React application can be deployed to services like Vercel, Netlify, or any static hosting provider:
-
Build the application:
cd Frontend npm run build -
Deploy the contents of the
distdirectory
The Express API can be deployed to services like Heroku, Railway, or any Node.js hosting provider:
- Ensure environment variables are properly set in your hosting platform
- Deploy the Backend directory
- Enhanced authentication with JWT
- Email notifications for application status changes
- Interview scheduling and calendar integration
- Resume and cover letter management
- Company research notes and contacts tracking
This project was created to help students streamline their job search process and increase their chances of landing their dream job.