DEV Community

AlexGR
AlexGR

Posted on

XP-R — Technotes: Slowing Down to Scale: Building Context as a Force Multiplier

Aviso: La mayoría de las actualizaciones estarán en inglés, pero iré publicando también entradas resumen en español cada cierto tiempo.

This post complements the previous entry (XP-R — Slowing Down to Scale: Building Context as a Force Multiplier).

Decoupling Identity from the Game

I’ve separated the "Human" (Auth/Security) from the "Avatar" (In-game entity).

  • The Logic: identity handles the account; characters handles the persona.
  • The Payoff: A clean User model and a future-proof path for multi-character support without touching the auth core.

The Workspace Pattern (Multi-tenant)

Instead of building custom logic for Orgs, Alliances, or Communities, I’ve unified them under a Workspace model.

  • The Goal: Build features like DKP or Calendars once.
  • The Result: The system is agnostic; it doesn't care if you are a massive fleet or a small squad, the tools just work.

Namespacing & Fleet SSOT

I’m organizing features into public_features and private_features. It’s a clean split between global platform value and premium group tools.

Additionally, I’ve locked down the Fleet logic: Ships are managed in a Single Source of Truth. Other modules can link to ships, but they can't create them. Consistency is non-negotiable.

The xpr Modular Monolith

The backend is structured to keep domains isolated but reachable:

  • Core & Workspaces: The infrastructure and tenant logic.
  • Meetings: The dynamic engine for event lifecycles.
  • Realtime & Gateway: The entry points for the frontend (xsr).

Clean Connections

To avoid the classic Django circular import nightmare, I’ve mandated using the App Registry for cross-module relations. It keeps dependencies flat and the architecture predictable.


Next Step: With the architectural context now locked in, I’m moving into the final polish of the database models before the first "real" lines of code are written.

Top comments (0)