Skip to content

Increment 1 - Step 5: Stubs across the stack & Qt uniformity - #5

Merged
angelobarbu merged 3 commits into
increment-1from
increment-1-step-5
Aug 22, 2026
Merged

Increment 1 - Step 5: Stubs across the stack & Qt uniformity#5
angelobarbu merged 3 commits into
increment-1from
increment-1-step-5

Conversation

@angelobarbu

@angelobarbu angelobarbu commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Step 5. Stubs across the stack

Partial end-to-end architecture: a running REST server, a QML client that talks to it, and the shared libraries between them.

What's new

  • modulo_core — Result (on std::expected, stable dotted error codes) and version() injected from the CMake project version.
  • modulo_api — HealthResponse and the uniform ErrorResponse envelope as Q_GADGET DTOs with validating QJson mappings (api::json::require* — no silent defaults).
  • Server modules config (env → Config, validated) and http (QHttpServer, loopback-only binding, GET /api/v1/health, JSON 404 envelope), plus the modulo_server executable.
  • modulo_client — ApiClient (QML-exposed, polls health every 3 s) and a dark Main.qml placeholder shell with a live status indicator.
  • docs/high_level_design.md — Mermaid architecture diagrams (components, library graph, runtime flows).

Decisions taken along the way

  • Full-Qt uniformity: QJson as the wire format (nlohmann-json removed), QString/.arg() project-wide, quint16-style typedefs, qInfo/qCritical in apps. The only Qt-free zone is modules/db + modulo_migrate.
  • No [[nodiscard]] (clang-tidy check suppressed accordingly).

Toolkit/build fixes

  • modulo_add_qml_app added; project version injection; generated qt.conf beside every executable (a second Homebrew Qt was shadowing the plugin path); WrapOpenGL_AGL pinned (newest macOS SDK dropped AGL); QML registrar basename-include handling.

Verified: clean -Werror build, format.sh --check, curl /api/v1/health → {"status":"ok","version":"0.1.0"}, 404 envelope, client running against the live server.

@angelobarbu
angelobarbu merged commit eb108a9 into increment-1 Aug 22, 2026
1 check passed
@angelobarbu
angelobarbu deleted the increment-1-step-5 branch August 22, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant