WikantikArchitecture
---\r\ncanonical_id: 01KQTCAKV3BVHYPW20PHSFGXJR\r\nverified_at: '2026-05-04T20:57:11.590236001Z'\r\nverified_by: gemini-cli-mcp-client\r\nsummary: A detailed look at Wikantik's module structure, hybrid storage model, and technology stack.\r\nstatus: official\r\ndate: '2026-05-04'\r\ntype: article\r\ncluster: wikantik-platform\r\ntitle: Wikantik System Architecture\r\nrelations:\r\n- target: 01KQTCA4WNJWEPHWKVP4KYJ22Y\r\n relationship: part-of\r\n---\r\n# Wikantik System Architecture\r\n\r\nWikantik is a modern, modular Java-based wiki platform. It follows a decoupled, 18-module Maven architecture designed for testability, scalability, and seamless AI integration.\r\n\r\n## Module Breakdown\r\n\r\nThe system is organized into specialized modules with clear separation of concerns, following the **[Hexagonal Architecture](HexagonalArchitecture)** pattern:\r\n\r\n| Module | Responsibility |\r\n|--------|---------------|\r\n| `wikantik-bom` | Dependency Bill of Materials. |\r\n| `wikantik-api` | **The Domain \u0026 Ports.** Public interfaces, data models, and frontmatter parsing logic. |\r\n| `wikantik-main` | **The Engine Room.** Core engine implementation, rendering pipeline, and providers. |\r\n| `wikantik-admin-mcp` | **Admin Control.** MCP server providing tools for writes and analytics. |\r\n| `wikantik-knowledge` | **The Brain.** MCP server for hybrid retrieval and graph traversal. |\r\n| `wikantik-rest` | **API Gateway.** REST endpoints (`/api/*`) and admin controllers. |\r\n| `wikantik-frontend` | **The Interface.** React SPA built with Vite and TypeScript. |\r\n| `wikantik-http` | **The Pipeline.** Servlet filters for security (CORS, CSRF, CSP) and SPA routing. |\r\n| `wikantik-war` | **The Bundle.** Combines all modules into a single deployable artifact. |\r\n\r\n## Storage Model: The Hybrid Approach\r\n\r\nWikantik uses a two-tier storage strategy to balance version control with query performance:\r\n\r\n### 1. The Page Corpus (Git + Files)\r\nWiki pages are stored as CommonMark Markdown (`*.md`) files. \r\n- **Metadata:** Every page includes mandatory YAML frontmatter. See **[Frontmatter Conventions](FrontmatterConventions)** and **[Markdown Links](MarkdownLinks)**.\r\n\r\n### 2. The Data Store (PostgreSQL)\r\nA PostgreSQL database provides the structured backbone for users, policy grants, the knowledge graph, and **pgvector** embeddings.\r\n\r\n## Technology Stack\r\n\r\n- **Backend:** Java 21, Maven 3.9+, Tomcat 11.\r\n- **Dependency Injection:** Transitioning to **Guice**. Established by **[ADR-001](ADR-001)**.\r\n- **Search:** Apache Lucene 9+ (BM25) and pgvector (Dense).\r\n- **Observability:** A modern stack using **[Prometheus, Loki, and Grafana](ObservabilityDesign)**.\r\n- **Security:** Standardized **[Cryptography Fundamentals](CryptographyFundamentals)** for passwords and API keys.\r\n\r\n## Development Practices\r\n\r\nWikantik is built with a **[Test Driven Development (TDD)](TestDrivenDevelopment)** mandate. High-speed unit testing is enabled by the **[Test Stub Conversion](TestStubConversion)**, which allows the core engine to be simulated in memory.\r\n\r\n## See Also\r\n- [Wikantik Development](WikantikDevelopment) — The history and evolution of this architecture.\r\n- [Search and Retrieval](WikantikSearchAndRetrieval) — How the technology stack delivers information.\r\n","expectedContentHash: