OAPI is a high-performance, asynchronous orchestration API built with Rust. It serves as the backbone logic for the Antre des Loutres community, handling complex image generation, real-time infrastructure monitoring, and external API integration.
Generate high-fidelity profile summary cards for Discord and Minecraft.
Real-time health tracking for the entire community ecosystem.
A robust data layer powered by PocketBase.
utoipa.OAPI follows a strictly decoupled, layered architecture to ensure maintainability and testability:
| Layer | Responsibility |
|---|---|
| Handlers | HTTP entry points, parameter extraction, and status codes. |
| Actions | Use-case orchestration and external data fetching. |
| Services | Pure business logic and computationally intensive tasks. |
| Models | Strictly typed DTOs and OpenAPI schema definitions. |
| Utils | Generic HTTP fetchers, formatters, and global constants. |
The system uses a hierarchical YAML configuration management system.
default_config.yaml: The source of truth. Contains all default values and mandatory structure. (Committed to Git).config.yaml: Local overrides for environment-specific settings (local URLs, secret keys). (Ignored by Git).On first run, the application automatically generates a config.yaml template if it is missing.
cargo access# Clone the repository
git clone https://github.com/matheo-1712/OAPI.git
cd OAPI
# Run in development mode
cargo run
We maintain a Zero Warnings Policy. Every contribution must pass strict CI/CD checks.
Before pushing, ensure your code meets the quality standards:
# Format code
cargo fmt
# Check for lints and warnings
cargo clippy --all-targets --all-features -- -D warnings
# Run all tests
cargo test --all-features
Deep dives into specific modules:
Built by matheo-1712