Advanced
1 year experience

Applied Hexagonal Architecture (Ports & Adapters) on the NotNull Online Rust backend. Domain layer owns entities, value objects, and outbound port traits for repositories, AI providers, hybrid search, object storage, email, auth, PDF compilation, and site deploy. Application services (chat, RAG, admin content, embeddings, SEO, contact) depend only on those ports. Infrastructure adapters implement MongoDB persistence, OpenAI/Gemini, S3, SES, JWT/Argon2, Typst, and GitHub Actions dispatch. Axum handlers are the driving adapter; the composition root in lib.rs wires AppState. Goal: testable use cases, swappable AI/persistence providers, and no business logic in route handlers.