Job Tracker
Job Tracker (Jobjakt) is a self-hosted workspace for managing job applications, companies, correspondence, follow-ups, attachments, career profiles, CVs, and optional local/private AI assistance.
Stack
- Next.js 16 / React 19 / TypeScript / MUI frontend
- ASP.NET Core 9 / EF Core 9 API
- SQLite by default; MariaDB/MySQL for server deployments
- FastAPI document/AI service with optional Ollama, Gemini, or Groq CV routing
- Docker Compose + nginx; Gitea Actions deployment
Quick start
Prerequisites: .NET SDK 9, Node.js 24/npm, and Docker Compose for the full stack.
For Docker, copy .env.example to .env, fill required values, then run:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
Open http://localhost:3000. The API is available at http://localhost:5202 in local process development.
For local processes:
cd JobTrackerApi
dotnet restore --locked-mode
dotnet run
cd ..\job-tracker-ui
npm ci
npm run dev
Quality checks
dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --no-restore
cd job-tracker-ui
npm run lint
npm test -- --runInBand
npm run typecheck
npm run build
Run browser tests with npx playwright install chromium once, followed by npm run test:e2e from job-tracker-ui/.
Documentation
Start at docs/README.md for architecture, configuration, frontend/backend guides, AI, database, security, infrastructure, testing, and remaining work. Production/external blockers remain in BLOCKERS.md.