docs(dev): align setup with current stack

This commit is contained in:
cesnimda
2026-08-30 11:32:00 +02:00
parent 16ef3b9463
commit 2d7a51c3fd
10 changed files with 104 additions and 78 deletions
+13 -16
View File
@@ -1,6 +1,6 @@
# Job Tracker
Job Tracker is a simple, self-hosted app for tracking job applications with a React frontend and an ASP.NET Core API backed by SQLite.
Job Tracker is a self-hosted career workspace built with a Next.js/React frontend and an ASP.NET Core API. SQLite is the local default; MariaDB/MySQL is the supported server-database option.
## Features (high level)
@@ -21,9 +21,9 @@ Job Tracker is a simple, self-hosted app for tracking job applications with a Re
## Architecture
- `job-tracker-ui/`: React app (runs on `http://localhost:3000` in dev)
- `job-tracker-ui/`: statically exported Next.js 16 / React 19 app (runs on `http://localhost:3000` in dev)
- `JobTrackerApi/`: ASP.NET Core API (defaults to `http://localhost:5202`)
- SQLite DB file: defaults to `JobTrackerApi/jobtracker.db` unless `Data:Root` / connection string overrides it
- Database: SQLite defaults to `JobTrackerApi/jobtracker.db`; MariaDB/MySQL is selected with `Database:Provider`
- Attachments: stored on disk under `DataRoot/Attachments/<jobId>/...`
- Optional local AI service: `tools/summarizer/` (FastAPI) used by the API via `Ai:BaseUrl`
@@ -46,14 +46,14 @@ docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
### Prereqs
- .NET SDK `9.x` (API targets `net9.0`)
- Node.js (for the UI)
- (Optional) Python 3.x if running the AI service without Docker
- Node.js 24 and npm (matching CI)
- (Optional) Python 3.12 if running the AI service without Docker
### 1) Run the API
```bash
cd JobTrackerApi
dotnet restore
dotnet restore --locked-mode
dotnet run
```
@@ -99,8 +99,8 @@ If the placeholder development password no longer matches the local DB, use the
```bash
cd job-tracker-ui
npm install
npm start
npm ci
npm run dev
```
The UI defaults to calling `http://localhost:5202/api` when running on localhost (see `job-tracker-ui/src/api.ts`).
@@ -113,7 +113,7 @@ npx playwright install chromium
npm run test:e2e
```
The suite starts isolated API/SQLite and Next.js processes, then covers login, saved-job creation,
The suite uses `http://localhost:3300`, starts isolated API/SQLite and Next.js processes, then covers login, saved-job creation,
Career Workspace, and anonymous public-CV/PDF access. It is also a required CI gate.
### 4) (Optional) Run the AI service
@@ -183,6 +183,8 @@ Common keys:
- `NEXT_PUBLIC_API_BASE_URL`: override the API base URL (example: `http://localhost:5202/api`)
The complete environment template is `.env.example`. Production requirements and restore/rollback procedures are maintained in `deploy/README.md`; current component boundaries and supported providers are documented in `docs/architecture/current.md`.
## API endpoint reference
Base URL in local dev: `http://localhost:5202` (all routes are under `/api/...`).
@@ -308,11 +310,6 @@ Authentication:
- The background rules engine may automatically transition jobs to `Ghosted` based on rule settings.
- In Docker, the UI proxies `/api/*` to the backend service (see `job-tracker-ui/nginx.conf`).
## Ideas to improve the app (next steps)
## Project status and planned work
- Add first-class “timeline” view combining `JobEvent` history + correspondence + attachments into a single chronological stream (this also naturally supports the “Applied → Interview → Reply → …” flow you mentioned).
- Define a canonical pipeline/status model (enum + ordering) and drive UI badges/board columns from it; allow custom pipelines per user.
- Add Swagger/OpenAPI for the controllers (so endpoint docs stay in sync) + include example requests/responses.
- Add validation + problem-details responses consistently (and keep request/response DTOs stable and versioned).
- Add search improvements (full-text search, filter by tags, filter by date ranges, saved views).
- Add notifications (email/desktop) for follow-ups and upcoming deadlines.
This README documents released behaviour, not the roadmap. Validated findings and implementation status live in `docs/audits/audit-remediation-backlog.md` and `docs/work-programmes/master-progress.md`; archived phase documents are historical evidence and may describe superseded behaviour.