A comprehensive application to help software developers, students, and job seekers track and manage their job applications throughout the hiring process.
Job Tracker is a full-stack web application designed to help users organize their job search process. It allows users to keep track of job applications, interview rounds, salaries, and personal notes about each opportunity. The application also features AI-powered insights to help users improve their application strategy.
- User Authentication: Secure signup, login, and profile management
- Job Application Management: Add, edit, and delete job applications
- Interview Tracking: Record multiple interview rounds for each job
- Dashboard View: Get a visual overview of all your job applications
- Dark/Light Mode: Choose your preferred UI theme
- AI-Powered Insights: Leverage Gemini AI to get suggestions and improvements for your job search
- Review System: Add personal notes and reflections about each job application
- Responsive Design: Works seamlessly on desktop and mobile devices
- Track coding assessments and technical interviews
- Organize job applications across multiple companies
- Document technical requirements for each position
- Compare salary offers and benefits
- Track internship applications
- Organize applications by academic term
- Keep notes about company culture and learning opportunities
- Prepare for interviews with historical data
- Centralize all job application data in one place
- Monitor application status and progress
- Remember important details about each company
- Plan follow-ups and next steps efficiently
- React 19
- React Router 7
- Material UI 7
- Tailwind CSS 4
- Framer Motion
- Axios
- Google Generative AI (Gemini)
- Express.js 5
- PostgreSQL
- Sequelize ORM
- JWT Authentication
- bcrypt for password hashing
- Node.js (v18 or higher)
- PostgreSQL database
- Google Gemini API key (for AI features)
-
Clone the repository:
git clone https://github.com/yourusername/job-tracker.git cd job-tracker -
Install dependencies for both client and server:
# Install server dependencies cd server npm install # Install client dependencies cd ../client npm install -
Set up environment variables:
Create a
.envfile in the server directory with the following:PORT=3000 JWT_SECRET=your_jwt_secret DATAASE_URL=your_database_url GOOGLE_API_KEY=your_gemini_api_keyCreate a
.envfile in the client directory with the following:VITE_API_URL=http://localhost:3000/api -
Set up the database:
# In the server directory npx sequelize-cli db:create npm run migrate -
Start the application:
# Start the server (from server directory) npm start # Start the client (from client directory) npm run dev -
Open your browser and navigate to
http://localhost:5173
- Sign up for a new account or log in with existing credentials
- Navigate to the dashboard to view all your job applications
- Click the "+" button to add a new job application
- Fill in the job details including title, company, location, and salary
- Add interview rounds as they occur
- Use the AI feature to get insights about your application
- Add personal reviews and notes about each job opportunity
- Toggle between dark and light mode as preferred
Contributions are welcome! Here's how you can contribute to the project:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name) - Make your changes
- Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature-name) - Open a Pull Request
Please make sure to update tests as appropriate and follow the code style of the project.
- Analytics Dashboard: Visual representations of application statistics
- Email Notifications: Reminders for follow-ups and upcoming interviews
- Resume Storage: Attach and manage different versions of resumes
- Calendar Integration: Sync interview schedules with Google Calendar
- Mobile App: Native mobile experience for on-the-go job tracking
This project is licensed under the MIT License - see the LICENSE file for details.
- The React team for their amazing frontend library
- The Sequelize team for their powerful ORM
- Google for their Generative AI API
- All contributors who have helped improve this project