Start all dependencies plus API:
docker compose up -d --buildServices:
- PostgreSQL on
5432 - Oracle XE (Oracle Free) on
1521 - MongoDB on
27017 - Redis on
6379 - OpenTelemetry Collector on
4318(HTTP),4317(gRPC) - API on
8000
pip install -e .[dev]
cp .env.example .env
alembic upgrade head
uvicorn app.main:app --reload --port 8000Offer-letter PDFs are rendered with Playwright/Chromium. The Docker image installs Chromium with uv run playwright install --with-deps chromium. For non-Docker local runs, install the browser once with uv run playwright install chromium before generating PDFs.
bash scripts/lint.sh
bash scripts/test.shCI workflow runs:
- Ruff lint
- Python compile check
- Pytest smoke tests
- Check active auth mode:
curl -s http://localhost:8000/api/v1/auth/provider- Validate credentials path by mode:
custom_jwt: use/api/v1/auth/loginapi_key: include static headerentra: include bearer token from Entra
curl -s http://localhost:8000/api/v1/health
curl -s http://localhost:8000/api/v1/health/postgres
curl -s http://localhost:8000/api/v1/health/oracle
curl -s http://localhost:8000/api/v1/health/mongodb
curl -s http://localhost:8000/api/v1/health/redis