# Implexus Architecture Documentation A path-based document database library and engine for Vala. ## Document Index | Document | Description | |----------|-------------| | [01-Overview](01-Overview.md) | High-level description, goals, and design principles | | [02-Namespaces](02-Namespaces.md) | Namespace organization and module structure | | [03-Core-Interfaces](03-Core-Interfaces.md) | Entity, EntityType, Storage, and Engine interfaces | | [04-Class-Hierarchy](04-Class-Hierarchy.md) | Class diagrams and inheritance relationships | | [05-Path-System](05-Path-System.md) | Path parsing, resolution, and management | | [06-Entity-Types](06-Entity-Types.md) | Container, Document, Category, and Index implementations | | [07-Storage-Layer](07-Storage-Layer.md) | DBM abstraction and binary serialization format | | [08-Set-Operations](08-Set-Operations.md) | Set operations API for entity children | | [09-Client-Server-Protocol](09-Client-Server-Protocol.md) | TCP protocol design for remote mode | | [10-File-Organization](10-File-Organization.md) | Source file map and project structure | ## Quick Start Implexus is a document database that organizes data using path-based identification, similar to a filesystem. It supports: - **Embedded mode**: Library runs in-process - **Client/Server mode**: Daemon over TCP with identical API ## Dependencies - GLib 2.0 - GObject 2.0 - Invercargill-1 (collections, expressions, Element types) ## Architecture Overview ``` ┌─────────────────────────────────────────────────────────────┐ │ Application │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Engine Interface │ │ ┌─────────────────────┐ ┌─────────────────────────────┐ │ │ │ EmbeddedEngine │ │ RemoteEngine │ │ │ └─────────────────────┘ └─────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Entity System │ │ ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌──────────────┐ │ │ │ Container │ │ Document │ │ Category │ │ Index │ │ │ └──────────┘ └──────────┘ └───────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Storage Layer │ │ ┌─────────────────────┐ ┌─────────────────────────────┐ │ │ │ Storage Interface │ │ Binary Serialization │ │ │ └─────────────────────┘ └─────────────────────────────┘ │ │ ┌─────────────────────┐ │ │ │ DBM Interface │ │ │ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ```