cesnimda 75cd04cfc2
MariaDB persistence qualification / mariadb (push) Failing after 8s
ci: fail closed before executing on unverified hosted runner
2026-10-24 08:55:02 +02:00

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
  • MariaDB across development, integration testing, CI and production; SQLite retained only during staged retirement
  • 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, start the separate persistent development database first:

docker compose -f docker-compose.database.yml up -d --wait mariadb-dev

Then run the API/UI below. Development settings use only the loopback jobtracker_dev database; startup applies the existing migrations. MariaDB setup and qualification documents the pinned server, disposable integration lane, credentials and data-preservation rules.

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
python scripts/mariadb-integration.py
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.

S
Description
No description provided
Readme 227 MiB
Languages
TypeScript 51.4%
C# 44.3%
Python 2.8%
Shell 1%
JavaScript 0.4%