Files
retoor 3c4334cec9 feat: implement MoloApp plans 01-15 with integration
Full C++23 framework tree: runtime, observability, security,
data, app, realtime, supervisor, clients, CLI, example plus
enterprise tenancy, audit, operability, governance,
supplychain. Postgres via docker compose for tests.
2026-10-23 18:20:04 +02:00

5.7 KiB

Living example

Big living example project proving every MoloApp feature end to end. Plan: plans/10-workflow-example.md, section 6.4.

Run it:

make -f example/example.mk example
./build/example/living-server 8080

Open http://127.0.0.1:8080/ and click through the matrix. Narrow the window to 360px: the top nav collapses into a dropdown menu.

Run the suite (37 route-level integration tests, real stack, no mocks):

make -f example/example.mk example-test

Framework status

The framework is skeletal: example/fw/ holds a compiling skeleton of the public API (request, response hierarchy, router, application, views, validation, forms, negotiation, templates, middleware, DI-shaped services, errors, cookies, static, TLS stub, KV, cache, pubsub, events, metrics, telemetry, sessions, auth, ORM stub, uploads, WebDAV, supervisor, tasks, replication, REST client, OpenAPI, AI harness sample, release pipeline, test client, loopback server). Gaps are marked in example/SPEC.md and in each header. As siblings 01 through 09 land, this app re-binds to the real namespaces route by route; the URLs, tests, and matrix stay stable.

Coverage matrix

Feature -> route -> test file -> plan link. One row per feature; CI fails on a missing row.

Feature Route Test file Plan
index / tests/example/index_test.cpp plans/10-workflow-example.md 6.4
health probe /health tests/example/health_test.cpp plans/09-cli-ops.md health
routing /routing/hello/{name} tests/example/routing/hello_test.cpp plans/05-request-routing.md
class views /routing/views/greet tests/example/routing/views_test.cpp plans/05-request-routing.md
routers /routing/routers/nested/deep tests/example/routing/routers_test.cpp plans/05-request-routing.md
app chaining /app1/app1/app1/whoami tests/example/chain/deep_test.cpp plans/05-request-routing.md
orm sqlite /orm/users?backend=sqlite tests/example/orm/users_test.cpp plans/04-data.md
orm postgres /orm/users?backend=postgres tests/example/orm/users_test.cpp plans/04-data.md
basic auth /auth/me tests/example/auth/me_test.cpp plans/03-security.md
login /auth/login tests/example/auth/login_test.cpp plans/03-security.md
sessions /sessions/counter tests/example/sessions/counter_test.cpp plans/03-security.md
uploads /uploads/file tests/example/uploads/file_test.cpp plans/03-security.md
forms /forms/contact tests/example/forms/contact_test.cpp plans/05-request-routing.md
validation /validate/user tests/example/validate/user_test.cpp plans/05-request-routing.md
templates /templates/page tests/example/templates/page_test.cpp plans/05-request-routing.md
formats /formats/data tests/example/formats/data_test.cpp plans/05-request-routing.md
static disk /static/{name} tests/example/static/files_test.cpp plans/01-runtime.md
embedded /embedded/{name} tests/example/embedded/assets_test.cpp plans/09-cli-ops.md
streaming /streaming/feed tests/example/streaming/feed_test.cpp plans/06-realtime.md
passthrough /streaming/passthrough tests/example/streaming/passthrough_test.cpp plans/06-realtime.md
websocket /ws/chat tests/example/ws/chat_test.cpp plans/06-realtime.md
socket.io /socketio/rooms tests/example/socketio/rooms_test.cpp plans/06-realtime.md
sse /sse/events tests/example/sse/events_test.cpp plans/06-realtime.md
webdav /webdav/files/ tests/example/webdav/files_test.cpp plans/06-realtime.md
pubsub /pubsub/publish tests/example/pubsub/publish_test.cpp plans/04-data.md
events /events/fire tests/example/events/fire_test.cpp plans/02-observability.md
metrics /metrics/counters tests/example/metrics/counters_test.cpp plans/02-observability.md
telemetry /telemetry/trace tests/example/telemetry/trace_test.cpp plans/02-observability.md
kv store /kv/items tests/example/kv/items_test.cpp plans/04-data.md
cache /cache/lookup tests/example/cache/lookup_test.cpp plans/04-data.md
tasks /supervisor/tasks tests/example/supervisor/tasks_test.cpp plans/07-supervisor-replication.md
workers /supervisor/workers tests/example/supervisor/workers_test.cpp plans/07-supervisor-replication.md
replication /replication/state tests/example/replication/state_test.cpp plans/07-supervisor-replication.md
rest client /restclient/self tests/example/restclient/self_test.cpp plans/08-clients-openapi.md
openapi /openapi.json tests/example/openapi/docs_test.cpp plans/08-clients-openapi.md
docs page /docs tests/example/openapi/docs_test.cpp plans/08-clients-openapi.md
ai harness /cli/ai tests/example/cli/ai_test.cpp plans/09-cli-ops.md
workflow /workflow/release tests/example/workflow/release_test.cpp plans/10-workflow-example.md 6.2
redirects /redirect/here tests/example/redirect/here_test.cpp plans/05-request-routing.md

Layout

example/
  example.mk     # per-part make include (build, test, clean)
  SPEC.md        # mini-spec: behaviors, caps, formats, errors, gaps
  README.md      # this file
  main.cpp       # loopback server entry
  fw/            # skeletal framework public API (namespace molo::example::fw)
  app/           # demo routes (namespace molo::example::app)
  static/        # disk static assets (responsive CSS, tiny JS)
tests/example/   # route-level integration tests mirroring URLs