Skip to content

FadiNahhas/JobApplicationTracker

Repository files navigation

Job Application Tracker

A Python-based desktop application to track job applications, manage events, and streamline the job search process. Built with PyQt6 for the GUI and SQLite for database management.

Features

  • Add, edit, and delete job applications.
  • Track events (interviews, rejections, offers, etc.) for each application.
  • Filter applications by status (Pending, Active, Closed).
  • User-friendly GUI built with PyQt6.

Requirements

This project requires Python 3.9 or later and the following packages:

  • PyQt6: GUI framework for building the desktop application
  • PyInstaller: Creates standalone executables from Python applications
  • pyqt6-tools: Development tools for PyQt6 including Qt Designer
  • qt6-applications: Additional Qt6 applications and utilities
  • pip-tools: (Optional) For managing project dependencies

For a complete list of dependencies and their versions, see requirements.txt. To install all required packages, run:

pip install -r requirements.txt

API Key Setup

This application uses the Google Maps API for location services. To use these features:

  1. Get a Google Maps API key from the Google Cloud Console
  2. Create a config.py file in the root directory (copy from config_template.py)
  3. Add your API key to the config.py file:
GOOGLE_MAPS_API_KEY = "your-api-key-here"

Note: The config.py file is ignored by git to keep your API key secure. Never commit your actual API key to version control.

Installation

Step 1: Clone the Repository

git clone https://github.com/yourusername/job-application-tracker.git
cd job-application-tracker

Step 2: Set Up a Virtual Environment (Optional but Recommended)

python -m venv venv
# Activate the virtual environment
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

Step 3: Install Dependencies

Using 'requirements.txt'

pip install -r requirements.txt

Step 4: Build the App

Run the following command to build the app

pyinstaller app.spec

The build will appear in the dist folder

Step 5: Initialize the Database

The application automatically initializes the database when you first run it. Ensure the Data folder and the job_tracker_template.db file are in place.

Project Structure

  • app.py: Main entry point for the application.
  • constants.py: Contains constants used throughout the project.
  • UI/: Contains the GUI design files.

License

This project is licensed under the MIT License.

Acknowledgments

  • PyQt6 for the amazing GUI toolkit.
  • SQLite for lightweight database management.
  • PyInstaller for creating standalone executables.

About

A small desktop application for tracking and managing job applications. Made to replace my spreadsheets.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages