Skinner
SaaS multi-tenant para la gestión de clínicas de ABA, desarrollado en Self Aplicações Tecnológicas para Saúde, Educação e Bem-Estar.
- Python
- TypeScript
- NestJS
- PostgreSQL
- React
- React Native
- AWS
- Stripe
Proyecto sujeto a confidencialidad. Esta página describe únicamente la naturaleza técnica del trabajo, sin detalles internos, datos ni código propietario.
Sobre el proyecto
Skinner es una plataforma SaaS orientada a la gestión de las operaciones clínicas de ABA, que abarca la organización de pacientes, profesionales, programas terapéuticos, sesiones, tareas, agenda y seguimiento de la evolución.
Participé en el desarrollo de la plataforma, principalmente en la API y en las reglas de negocio, y también en la construcción de las aplicaciones web y móvil.
Principales desafíos técnicos
- Arquitectura multi-tenant, con aislamiento de datos entre organizaciones.
- Modelado de reglas de negocio complejas en el backend.
- Control de acceso basado en la organización y el rol del usuario.
- Motor de decisión para gestionar el ciclo de vida de tareas y programas.
- Operaciones idempotentes y gestión de la concurrencia.
- Sistema de agenda y recurrencia.
- Historial y trazabilidad de los cambios realizados en la plataforma.
- Autenticación y autorización entre los distintos clientes de la aplicación.
- Integración con Stripe para pagos y suscripciones.
- Aplicaciones web y móvil consumiendo la misma API.
- Tests automatizados para reglas de negocio y flujos críticos.
Arquitectura
La API se desarrolló como un monolito modular, organizado por dominios de negocio para mantener un bajo acoplamiento y facilitar la evolución de la plataforma.
Las reglas críticas están centralizadas en el backend para garantizar la coherencia entre los distintos clientes de la aplicación.
El frontend web y la app móvil se estructuran de forma independiente, compartiendo los contratos y servicios que expone la API.
Ingeniería
Durante el desarrollo, trabajé en problemas relacionados con:
- consistencia transaccional;
- concurrencia e idempotencia;
- aislamiento multi-tenant;
- modelado relacional;
- autenticación y autorización;
- integración con servicios externos;
- tests unitarios y de integración;
- evolución incremental de una aplicación en producción.
Resultado
El proyecto me dio experiencia práctica en el desarrollo y la evolución de un SaaS utilizado en un entorno real, abarcando arquitectura de APIs, bases de datos, reglas de negocio, aplicaciones web y móvil, pagos e infraestructura cloud.
Proyecto bajo confidencialidad. La información presentada se ha limitado deliberadamente a aspectos técnicos generales, sin exponer código, datos de usuarios ni detalles internos del producto.