Pular para o conteúdo
Thiago Godeguesi
← Todos os estudos

Estudo de caso

Plataforma SaaS de Gestão

Plataforma SaaS de gestão em preparação para lançamento e validação com usuários, construída de forma incremental para evoluir decisões de produto, arquitetura e segurança.

FastAPINext.jsPostgreSQLDockerOpenAPI

Contexto

O projeto reúne backend, frontend e banco de dados em uma arquitetura voltada a múltiplas organizações, com foco em separar responsabilidades desde o MVP.

Problema

Estruturar uma base de produto capaz de atender usuários autenticados de organizações distintas sem misturar dados, regras de acesso ou contratos entre as camadas.

Responsabilidades

  • Definição da arquitetura técnica e das fronteiras entre as aplicações.
  • Evolução do backend, do frontend e dos contratos de integração.
  • Estratégia de testes, organização incremental do trabalho por cards, branches e pull requests, e decisões de segurança do produto.

Solução

A solução combina uma API em FastAPI, interface em Next.js, PostgreSQL para persistência e Docker para padronizar o ambiente de desenvolvimento e execução. A evolução é orientada por contratos, testes e entregas incrementais do MVP.

Arquitetura técnica

O frontend em Next.js consome uma API documentada por contratos OpenAPI. O backend em FastAPI concentra regras de negócio, autenticação e autorização; o PostgreSQL persiste os dados com escopo de organização; e os serviços são executados em containers Docker. O ambiente de testes usa infraestrutura própria com contêineres.

Decisões principais

  • Adotar contratos OpenAPI como referência compartilhada entre frontend e backend.
  • Modelar o isolamento por organização como parte das regras de acesso, e não como convenção de interface.
  • Usar autenticação baseada em token e autorização explícita para as operações protegidas.
  • Usar infraestrutura própria com contêineres no ambiente de testes.

Desafios

  • Equilibrar velocidade de entrega do MVP com decisões que preservem a evolução do produto.
  • Manter isolamento multi-tenant consistente nos fluxos de leitura e escrita.
  • Evitar acoplamento entre a interface e regras internas da API.

Qualidade e validação

  • Há testes automatizados no backend e no frontend.
  • Foram executados com sucesso 17 testes E2E do backend, cobrindo onboarding, autenticação, cadastros e isolamento multi-tenant.
  • O isolamento multi-tenant está implementado e validado.
  • O frontend possui quality gates de lint, typecheck, testes e build.

Resultados publicáveis

  • A plataforma está em preparação para lançamento e validação com usuários.
  • Não há demonstração, código ou resultado quantitativo aprovado para publicação nesta versão.

Aprendizados

  • Isolamento entre organizações precisa ser verificado em toda a cadeia de acesso a dados.
  • Contratos claros reduzem ambiguidade quando frontend e backend evoluem em ritmos diferentes.
  • Testes de integração e E2E antecipam riscos que não aparecem apenas em testes unitários.

Próximos passos

  • Preparar o lançamento e a validação com usuários sem caracterizar o produto como concluído ou em produção.
  • Revisar, antes da publicação, eventuais resultados qualitativos que possam ser comprovados.