A modern web application for tracking and managing your job applications and CV building process. Built with React, Flask, and PostgreSQL.
- Application Tracking: Track job applications, interviews, and follow-ups
- CV Management: Manage multiple CV versions and track their performance
- Interactive Dashboard: Visualize your application statistics and success rates
- Drag-and-Drop Interface: Intuitive job application status management
- Responsive Design: Works seamlessly on desktop and mobile devices
- Real-time Updates: Instant feedback on application status changes
- Data Visualization: Charts and graphs for application analytics
- React 18
- Redux Toolkit for state management
- Material-UI and Tailwind CSS for styling
- React Router for navigation
- React Beautiful DnD for drag-and-drop functionality
- Chart.js for data visualization
- Axios for API communication
- React Toastify for notifications
- Flask (Python)
- SQLAlchemy ORM
- PostgreSQL database
- Flask-Migrate for database migrations
- Flask-CORS for cross-origin resource sharing
- Alembic for database version control
- Node.js (v16 or higher)
- Python 3.8 or higher
- PostgreSQL
- Git
-
Navigate to the backend directory:
cd backend -
Create and activate a virtual environment:
# Windows python -m venv env .\env\Scripts\activate # Unix/MacOS python3 -m venv env source env/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile in the backend directory with the following variables:FLASK_APP=run.py FLASK_ENV=development DATABASE_URL=postgresql://username:password@localhost:5432/cv_tracker SECRET_KEY=your-secret-key -
Initialize the database:
flask db upgrade
-
Run the backend server:
flask run
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Create a
.envfile in the frontend directory:REACT_APP_API_URL=http://localhost:5000 -
Start the development server:
npm start
-
Start the backend server (from the backend directory):
flask run
-
Start the frontend development server (from the frontend directory):
npm start
-
Access the application at
http://localhost:3000
cd backend
python -m pytestcd frontend
npm testcv-build-tracker/
βββ backend/
β βββ app/
β β βββ models/
β β βββ routes/
β β βββ services/
β βββ migrations/
β βββ requirements.txt
β βββ run.py
βββ frontend/
β βββ public/
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ redux/
β β βββ services/
β β βββ utils/
β βββ package.json
β βββ tailwind.config.js
βββ README.md
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Your Name - Initial work
- Thanks to all contributors who have helped shape this project
- Inspired by the need for better job application tracking tools