Architecture & Developer Tooling.
Technical documentation for Boileryx: 5 decoupled layers, fork extension patterns, and centralized CLI.
5 layers. Zero hidden dependencies.
Each layer connects to the next through clear contracts. The base+extend pattern ensures forks never cause merge conflicts.
Frontend
React 19 · Vite · TypeScript · TailwindCSS 4Backend
Python · FastAPI · Async SQLAlchemy · AsyncpgData
PostgreSQL · Redis · AlembicAuth & Security
JWT · HttpOnly Cookies · Redis PresenceDeploy
Systemd · Nginx · Certbot · bx CLIZero-Conflict Extend Architecture
sidebar.base.tsxsidebar.extend.tsxpwa.base.tspwa.extend.tsnotifications.base.tsnotifications.extend.tsworker.pyworker_extend.pyconfig.pyconfig_extend.pyalembic/versions/alembic/versions_fork/One CLI does it all.
Our internal tooling automates the full lifecycle: project creation, migrations, build, deploy, and service management. This allows us to deliver and operate your application with enterprise speed and reliability.
Available commands
create <name>Creates a new project with DB, SSL, and full deploydeploy <name>Pull, migrate, build, restart — zero-downtime deploymentstatusShows API, worker, landing, and app status for all projectsrestart <name> <service>Restarts a specific servicelogs <name> <service>Real-time log tailingmigrate <name>Runs base + fork migrationsbuild <name> <target>Builds landing, app, or both frontendsbackup <name>Compressed database dump with timestampEverything. No fine print.
Your application ships with complete enterprise infrastructure: authentication, authorization, real-time, workers, auditing, notifications, and more — all implemented with proven patterns and production-ready from day 1.
Multi-Tenant & Auth
Multi-tenant RBAC
Tenant Isolation pattern with row-level security. Strategy pattern for per-organization permission resolution.
Full Auth
JWT dual-token with HttpOnly cookies. Mutex pattern for silent refresh. Proactive token renewal every 25min.
Invitation Flow
State Machine pattern: invite → stub user → action token → accept → membership active.
User Presence
TTL Cache pattern with Redis. Batch pipeline for mass updates. Observer pattern for online/offline state.
Real-Time & Workers
WebSocket Events
Pub/Sub pattern with Redis for horizontal scaling. First-message auth pattern. Keep-alive heartbeat.
Background Workers
Command Queue pattern with Redis (ARQ). Configurable cron jobs. Extension Point pattern for forks.
Notifications
Multi-channel Observer pattern: in-app bell + Web Push API. Strategy pattern for per-topic preferences.
Dashboard Metrics
Template Method pattern with COALESCE. Immutable system metrics + custom override per organization.
Frontend & UX
Landing + App
Separation of Concerns: two independent frontends (React + Vite). Single deploy pipeline.
i18n (ES/EN/PT)
Deep-merge strategy for internationalization. Extension Point pattern via locales_extend per fork.
Installable PWA
Factory pattern for dynamic manifest (Blob URL). Service worker with cache Strategy. Extensible via hooks.
Dark / Light
Token-based theming pattern with CSS custom properties. Persistence via Repository pattern (localStorage).
Backend & Data
Dual Migration Path
Parallel Pipelines pattern: versions/ (base) + versions_fork/ (fork). Auto-discovery. Zero merge conflicts.
Org Settings
Template + Override pattern per-org. LEFT JOIN resolution. Secret masking with Decorator pattern.
Template Engine
Strategy pattern for rendering: MJML (emails) + React/Puppeteer (PDFs). Template Repository in filesystem.
Fork Architecture
Extension Point pattern across 15+ layers. Open/Closed principle: extensible without modifying the core.
Deploy & Ops
Systemd Services
Process Supervisor pattern: API, worker, landing, app as independent services. Auto-restart on failure.
Auto SSL
Infrastructure as Code pattern: automatic Certbot + pre-configured Nginx reverse proxy.
Zero-downtime Deploy
Rolling Update pattern: pull → migrate → build → restart. Full pipeline in 47 seconds.
Subdomain Routing
Tenant Resolution pattern via Origin header. Convention over Configuration for reserved subdomains.