# 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: ```powershell 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: ```powershell cd JobTrackerApi dotnet restore --locked-mode dotnet run cd ..\job-tracker-ui npm ci npm run dev ``` ## Quality checks ```powershell 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](docs/README.md) for architecture, configuration, frontend/backend guides, AI, database, security, infrastructure, testing, and remaining work. Production/external blockers remain in [BLOCKERS.md](BLOCKERS.md).