HayaDev
APICompletado

Skinner API (Django)

Backend en Django REST Framework y PostgreSQL de una plataforma SaaS multi-tenant para clínicas de ABA, desarrollada en Self Aplicações Tecnológicas para Saúde, Educação e Bem-Estar.

  • Python
  • Django
  • Django REST Framework
  • PostgreSQL
  • AWS Lambda
  • Zappa
  • ReportLab
  • Matplotlib

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 API fue la primera generación del backend de la plataforma Skinner. El sistema gestionaba organizaciones, pacientes, profesionales, programas terapéuticos, sesiones, juegos de biofeedback e informes.

Participé en la evolución de la API y de la base de datos durante el desarrollo y la operación del producto, trabajando directamente con reglas de negocio, modelado de datos e integraciones.

Principales desafíos técnicos

  • Arquitectura multi-tenant, con aislamiento de datos entre organizaciones.
  • Desarrollo de APIs REST con Django REST Framework.
  • Modelado y evolución de una base de datos PostgreSQL.
  • Autenticación, autorización y control de acceso por organización.
  • Reglas de negocio para entrenamientos, sesiones y pacientes.
  • Procesamiento de los datos fisiológicos procedentes de los juegos.
  • Generación de informes en PDF con datos y gráficos.
  • Almacenamiento de archivos en servicios de AWS.
  • Optimización de consultas y prevención de problemas de rendimiento.
  • Documentación de la API con OpenAPI.
  • Tests automatizados para los principales flujos de la aplicación.

Arquitectura

La aplicación se desarrolló como un monolito Django organizado por dominios, utilizando Django REST Framework para exponer las APIs.

El aislamiento entre organizaciones se trató como un requisito fundamental, con validaciones de pertenencia aplicadas a las operaciones que manejan datos de los clientes.

La arquitectura evolucionó con el tiempo a medida que se incorporaban nuevos dominios y funcionalidades al producto.

Informes y procesamiento de datos

La API también se encargaba de procesar los datos de las partidas de los juegos y de generar informes en PDF.

Los informes combinaban datos de la aplicación e información fisiológica procesada en el backend, incluidas visualizaciones gráficas, y se almacenaban en infraestructura de AWS.

Ingeniería

Durante el desarrollo, trabajé principalmente con:

  • Python y Django;
  • Django REST Framework;
  • PostgreSQL;
  • modelado y migraciones de bases de datos;
  • arquitectura multi-tenant;
  • reglas de negocio;
  • optimización de consultas;
  • procesamiento de datos;
  • generación de documentos y gráficos;
  • AWS Lambda y S3;
  • documentación de APIs;
  • tests automatizados.

Evolución del proyecto

La experiencia acumulada durante la evolución de esta primera generación ayudó a identificar mejoras de arquitectura que después se aplicaron en las nuevas versiones de la plataforma, especialmente en la separación de las reglas de negocio, el modelado de los estados del dominio, la reutilización de estructuras y la estrategia de tests.

Proyecto concluido y reemplazado por una nueva generación de la plataforma.

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.

Volver a los proyectos