Skip to content

leobrqz/JobAppliesTracker

Repository files navigation

JobAppliesTracker

No bloat. No ads. No subscriptions.
Runs on your machine or server.

License: GPL-3.0 React Next.js FastAPI PostgreSQL

Track applications across platforms, manage companies, schedule interviews, and see where your pipeline stands. All in one place.



WIP: This is a work in progress. The project is not yet ready for production, changes are expected. It is still stable to use. Database migrations (Alembic) support schema updates across versions.

What it does

Area Capabilities
Applications Job title, company, platform, salary, seniority, stages, history, archiving
Companies Name, website, notes, linked to applications
Platforms Job boards (LinkedIn, Indeed, etc.) with templates for quick entry
Profile Resumes and profile data for fast attachment to applications
Calendar Appointments and interviews with meeting URLs
Dashboard Summary cards, status distribution, platform ranking, weekly heatmap

Stack

Layer Tech
Frontend Next.js 16, React 19, Tailwind, shadcn/ui, Turborepo
Backend FastAPI, SQLAlchemy, Alembic
Data PostgreSQL
Runtime Docker

Setup

Docker

Prerequisites: Docker

git clone <repository-url>
cd JobAppliesTracker

Create backend/.env:

DATABASE_URL=postgresql://postgres:root@localhost:5432/jobtracker
STORAGE_DIR=./storage
docker compose up --build -d

Run migrations (required on first setup; also run after pulling updates that include new migrations):

docker exec jobappliestracker-backend alembic upgrade head
Service URL
App http://localhost:3000
API http://localhost:8000
API docs http://localhost:8000/docs

Local Environment

Prerequisites: Node 20+, pnpm, Python 3.11+, PostgreSQL

  1. Start PostgreSQL. Create database jobtracker:
createdb jobtracker
  1. Create backend/.env:
DATABASE_URL=postgresql://postgres:root@localhost:5432/jobtracker
STORAGE_DIR=./storage
  1. Backend:

Prerequisites: Set up Python virtual environment.

cd backend
pip install -r requirements.txt

Run migrations (required on first setup; also run after pulling updates that include new migrations):

alembic upgrade head
uvicorn app.main:app --reload
  1. Frontend (another terminal):
cd frontend
pnpm install
pnpm dev