Beta

Architecture Paradigm Assessment

Snapshot of how our current system scores on DDD, event-driven, modularity, etc. Keep this handy when prioritizing technical work during Phase 0/1.

References: Methodology summary · Claude plan. Action items feed into Namespaces/OOP/Microservices pages.

Domain-Driven Design

9/10

Bounded contexts + value objects (facets) already in play; need explicit domain events/repositories.

Recommendations

  • Add lightweight domain events (SectionCreated, SessionCompleted).
  • Introduce repositories/use-case modules instead of direct store imports.

Event-Driven Architecture

4/10

Events exist as nouns (calendar events) but not verbs (SessionStarted). No bus/handlers yet.

Recommendations

  • Create EventBus abstraction for SessionStarted/AssignmentSubmitted.
  • Add simple handlers (notifications, analytics) before tackling sourcing.

Namespace / Module Organization

6/10

Feature matrix + providers now live in /lib/config, but most code is still flat; needs clear domain/application/infrastructure layers.

Recommendations

  • Introduce /domain (entities, policies), /application (commands/queries), /infrastructure (adapters).
  • Document config modules (featureMatrix, initPhase0) and limit presentation imports to application layer.

Object-Oriented Modeling

7/10

Interfaces + composition are solid, but behavior lives outside models (anemic).

Recommendations

  • Wrap facets as mixins providing helper methods (Temporal.isActive).
  • Introduce SectionAggregate/EnrollmentService to encapsulate rules.

Microservices

2/10

Modular monolith is correct for current scale; no need to split services.

Recommendations

  • Stay monolithic; only consider split if a domain explodes in scale or team count.

Event Sourcing

1/10

Overkill for MVP. Consider simple event log for audit later.

Recommendations

  • Add append-only audit log if compliance requires, but skip full sourcing.

Serverless Architecture

10/10

Already on Convex + Supabase + Vercel; perfect fit.

Recommendations

  • Leverage serverless cron/edge functions for AI + background tasks.

Functions / FaaS

8/10

Convex queries/mutations widely used; room to add background jobs + edge functions.

Recommendations

  • Add edge functions for heavy AI (pdf extraction).
  • Schedule weekly digests via Convex cron.

CQRS

5/10

Reads/writes currently share the same shape; timeline queries could benefit from dedicated projections.

Recommendations

  • Spin up read models for timeline/signal feeds backed by Supabase views.
  • Keep Convex mutations authoritative until dual-write stabilizes.

Modular Monolith Discipline

6/10

Conceptually agreed upon, but folders/imports still tangled.

Recommendations

  • Enforce lint rule: presentation cannot import infrastructure directly.
  • Add README per namespace describing boundaries + owners.