HayaDev
APIConcluído

Skinner API (Django)

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

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

Projeto sob confidencialidade. Esta página descreve apenas a natureza técnica do trabalho, sem detalhes internos, dados ou código proprietário.

Sobre o projeto

A Skinner API foi a primeira geração do backend da plataforma Skinner. O sistema gerenciava organizações, pacientes, profissionais, programas terapêuticos, sessões, jogos de biofeedback e relatórios.

Atuei na evolução da API e do banco de dados durante o desenvolvimento e operação do produto, trabalhando diretamente com regras de negócio, modelagem de dados e integrações.

Principais desafios técnicos

  • Arquitetura multi-tenant, com isolamento de dados entre organizações.
  • Desenvolvimento de APIs REST com Django REST Framework.
  • Modelagem e evolução de banco de dados PostgreSQL.
  • Autenticação, autorização e controle de acesso por organização.
  • Desenvolvimento de regras de negócio para treinos, sessões e pacientes.
  • Processamento de dados fisiológicos provenientes dos jogos.
  • Geração de relatórios em PDF com dados e gráficos.
  • Armazenamento de arquivos utilizando serviços AWS.
  • Otimização de consultas e prevenção de problemas de performance.
  • Documentação da API com OpenAPI.
  • Testes automatizados para os principais fluxos da aplicação.

Arquitetura

A aplicação foi desenvolvida como um monólito Django organizado por domínios, utilizando Django REST Framework para exposição das APIs.

O isolamento entre organizações foi tratado como requisito fundamental da aplicação, com validações de pertencimento aplicadas às operações que manipulam dados dos clientes.

A arquitetura evoluiu ao longo do tempo conforme novos domínios e funcionalidades foram incorporados ao produto.

Relatórios e processamento de dados

A API também era responsável pelo processamento de dados provenientes das partidas dos jogos e pela geração de relatórios em PDF.

Os relatórios combinavam dados da aplicação e informações fisiológicas processadas no backend, incluindo visualizações gráficas, e eram armazenados em infraestrutura AWS.

Engenharia

Durante o desenvolvimento, trabalhei principalmente com:

  • Python e Django;
  • Django REST Framework;
  • PostgreSQL;
  • modelagem e migrações de banco de dados;
  • arquitetura multi-tenant;
  • regras de negócio;
  • otimização de consultas;
  • processamento de dados;
  • geração de documentos e gráficos;
  • AWS Lambda e S3;
  • documentação de APIs;
  • testes automatizados.

Evolução do projeto

A experiência acumulada durante a evolução dessa primeira geração ajudou a identificar melhorias arquiteturais que posteriormente foram aplicadas nas novas versões da plataforma, especialmente na separação das regras de negócio, modelagem dos estados do domínio, reutilização de estruturas e estratégia de testes.

Projeto concluído e substituído por uma nova geração da plataforma.

Projeto sob confidencialidade. As informações apresentadas foram deliberadamente limitadas a aspectos técnicos gerais, sem exposição de código, dados de usuários ou detalhes internos do produto.

Voltar para os projetos