Files
HIPCTF2/docs/index.md
T
2026-07-21 14:23:48 +00:00

58 lines
2.2 KiB
Markdown

---
okf_version: "0.1"
---
# HIPCTF Documentation
HIPCTF is a single-tenant CTF (Capture-The-Flag) platform built as a Node.js
monorepo containing a NestJS REST API and an Angular single-page application.
It supports user registration, authentication, challenge management, a live
scoreboard, an event window with a public countdown, theming, and admin
controls.
The docs below are organized by purpose so agents can pull just the slice
they need.
# Architecture
* [System Overview](/architecture/overview.md) - High-level layout of the
backend, frontend, and how they communicate.
* [Backend Module Map](/architecture/backend-modules.md) - NestJS modules,
controllers, services, and their wiring.
* [Frontend Structure](/architecture/frontend-structure.md) - Angular routes,
components, services, and guards.
* [Key Files Index](/architecture/key-files.md) - One-line summary of every
important source file in the repository.
# Database
* [Schema Overview](/database/schema.md) - Tables, relationships, and indexes.
* [User Table](/database/users.md) - `user` table schema and seed behavior.
* [Challenge Tables](/database/challenges.md) - `category`, `challenge`,
`challenge_file`, `solve` tables.
* [Auth and Settings Tables](/database/auth-settings.md) - `refresh_token`
and `setting` tables.
* [Blog Post Table](/database/blog-posts.md) - `blog_post` table.
# API
* [REST API Overview](/api/rest-overview.md) - Base URL, versioning, auth,
CSRF, and error envelope.
* [Auth Endpoints](/api/auth.md) - Login, refresh, logout, CSRF, and
first-admin registration.
* [Admin Endpoints](/api/admin.md) - User management endpoints
(admin role required).
* [System Endpoints](/api/system.md) - Bootstrap, event status, and SSE
streams.
* [Uploads Endpoints](/api/uploads.md) - Admin-only multipart uploads.
# Guides
* [First-Run Bootstrap](/guides/bootstrap.md) - How a fresh instance is
initialized by the very first admin.
* [Theming](/guides/theming.md) - How themes are loaded and applied.
* [Event Window](/guides/event-window.md) - How the event window and live
countdown work.
* [Scoreboard Stream](/guides/scoreboard-stream.md) - How live solves are
broadcast to clients.