Raft Platform
Documentación técnica de la plataforma Raft: backend .NET, SQL Server como núcleo, frontend Flutter y servicios auxiliares como DNS, N8N e IA.
¿Qué es Raft?
Raft es una plataforma para aprovisionar y administrar recursos para desarrolladores y estudiantes. El proyecto combina:
- un backend modular en .NET;
- una base SQL Server compartida que guarda la lógica y el estado;
- un frontend Flutter para el producto principal;
- y un sitio de documentación en Docusaurus.
La idea central sigue siendo DB-first: la base de datos concentra la lógica persistente y el backend orquesta, autentica y expone la API.
Filosofía de la arquitectura
El backend no reimplementa reglas de negocio que ya viven en SQL Server. Su trabajo es:
- recibir la solicitud HTTP;
- validar autenticación y permisos;
- invocar el contrato correcto;
- y devolver una respuesta estructurada.
:::danger Regla de oro La lógica de negocio crítica no se duplica en el servidor de aplicaciones. Si una regla vive en SQL Server, el backend solo la consume. :::
Para ver el desglose completo de responsabilidades y módulos, revisa Arquitectura del sistema.
Mapa de la documentación
- Arquitectura del sistema - capas, módulos del backend y relaciones con SQL Server.
- API Reference - contrato de endpoints del backend.
- Frontend Flutter - reglas de integración para el cliente.
- DNS y Cloudflare - automatización de registros DNS.
- Ciclo de vida de bases - estados, TTL y eliminación diferida.
- Servidor y puertos - puertos, exposición y superficie de ataque.
- Guía de instalación local - cómo levantar el entorno de trabajo.
- Stored Procedures - convenciones y procedimientos clave del núcleo SQL.
Stack resumido
| Capa | Tecnología |
|---|---|
| Base de datos | Microsoft SQL Server |
| Backend | .NET 10 Web API modular |
| Frontend principal | Flutter |
| Documentación | Docusaurus |
| DNS | Cloudflare API v4 |
| Servicios auxiliares | N8N, IA por API key |
Controles críticos
| Control | Dónde aplica | Objetivo |
|---|---|---|
| Rate limiting | API / gateway | Reducir abuso y ataques de tráfico |
| Límite de almacenamiento | SQL Server + backend | Evitar que una BD supere su cuota |
| Conexiones concurrentes | SQL Server | Proteger el pool y la estabilidad del motor |
| Parámetros tipados | Stored procedures | Evitar inyección SQL |
| TTL / ciclo de vida | SQL Server jobs y workers | Retirar recursos inactivos sin intervención manual |