website / docs /README.md
Andrej Janchevski
docs(deploy): refresh for the post-launch deployment iteration
5ed6f37
# Documentation
Technical documentation for the PhD-research demo website. The site is a single Django + Vue Docker container deployed to a Hugging Face [Space](glossary.md#hf-space) (`Bani57/website` β†’ <https://bani57-website.hf.space>) and showcases three research methods from the thesis _Scalable Methods for Knowledge Graph Reasoning and Generation_ (Andrej Janchevski, EPFL, 2025): [COINs](glossary.md#coins), [MultiProxAn](glossary.md#multiproxan) and [KG anomaly correction](glossary.md#task-kg-anomaly).
This document is a routing layer. Pick the document type that matches your goal β€” definitions, understanding, lookup, or task.
## Glossary
[glossary.md](glossary.md) defines every domain term used in the rest of the docs and in the source. Other documents link into the glossary on first mention rather than restating definitions.
## Explanation β€” understand the system
For background, design rationale and how pieces fit together.
- [explanation/architecture.md](explanation/architecture.md) β€” overall request flow and container topology.
- [explanation/research-methods.md](explanation/research-methods.md) β€” what each demo demonstrates scientifically and why the implementation is shaped the way it is.
- [explanation/inference-lifecycle.md](explanation/inference-lifecycle.md) β€” boot sequence, lazy model loading, the single-process [inference lock](glossary.md#inference-lock).
## Reference β€” look up exact behaviour
For specifications you need to consult, not read end-to-end.
- [reference/api.md](reference/api.md) β€” REST endpoints, request and response shapes (the OpenAPI spec lives at [`docs/api.yaml`](api.yaml); this is the human-readable companion).
- [reference/sse-protocol.md](reference/sse-protocol.md) β€” `text/event-stream` event schema for streaming inference.
- [reference/backend-services.md](reference/backend-services.md) β€” `api/services/` modules: `ModelRegistry`, inference helpers, constants.
- [reference/frontend-modules.md](reference/frontend-modules.md) β€” Vite project layout, Pinia stores, `useSseStream` composable, axios client.
## Guides β€” accomplish a task
Step-by-step, goal-oriented.
- [guides/local-development.md](guides/local-development.md) β€” install the `website_c` mamba env, run the Django dev server and the Vite dev server.
- [guides/deploy.md](guides/deploy.md) β€” push a new version to the HF Space, including the one-time checkpoint upload to HF Hub.
## Project artefacts
- [`api.yaml`](api.yaml) β€” OpenAPI 3.0.3 specification.
- [`postman/collection.json`](postman/collection.json), [`postman/environment.json`](postman/environment.json) β€” Postman bundle for hand-testing the API.
- [`../plans/`](../plans/) β€” implementation plans for major deployment / refactor work.
## Audience
The docs assume a reader who knows Python, Django, Vue 3, and basic graph ML; they do not assume prior knowledge of the thesis methods.