Backend and frontend for collecting and serving university schedule data, matching recordings, and running a KTalk attendance worker.
app/
api/routes/ FastAPI route modules by domain
core/ config and logging
integrations/ Yandex and KTalk clients
services/ shared helpers
scripts/ operational utilities
workers/ background worker entrypoints
templates/ HTML pages
tests/ pytest suite
pyproject.toml uv project metadata
uv.lock locked dependency graph
docker-compose.yml local development stack
Dockerfile container image
Copy example.env to .env and fill in the real values.
Required runtime files:
.envcookie.txtktalk_auth.txt
The app reads configuration only from environment variables and file paths declared in .env.
Install dependencies:
uv sync --devRun the API:
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8082Run the worker:
uv run cu-3rd-view-workerRun tests:
uv run pytestStart local development stack:
cp example.env .env
docker compose up --buildServices:
web: FastAPI app with live reloadworker: background KTalk/Yandex workerdb: PostgreSQL 16
Populate database from CSV:
uv run cu-3rd-view-parseInsert a manual test event:
uv run cu-3rd-view-add-test-eventGitHub Actions runs pytest on every push and pull request via .github/workflows/tests.yml.