EN
Estudos

SmartSchool

API de gestão escolar em ASP.NET Core, projetada com arquitetura em camadas e boas práticas de backend.

Período2022 — 2026
PapelDesenvolvimento individual
Capa do SmartSchool, API de gestão escolar em ASP.NET Core

Contexto

Projeto pessoal criado para aprofundar o desenvolvimento de APIs backend: arquitetura em camadas, versionamento, autenticação robusta e testes. A API cobre o domínio de uma escola — alunos, professores, cursos e disciplinas.

O desafio

Projetar uma API estável e segura: versionamento que não quebre consumidores (V1/V2), autenticação por JWT com refresh tokens rotativos, validação de entrada consistente, soft delete para preservar histórico e um pipeline de CI que rode os testes a cada push.

Papel e responsabilidades

  • API REST em ASP.NET Core 10 com endpoints de CRUD para aluno, professor, curso e disciplina
  • Autenticação JWT + refresh tokens rotativos via ASP.NET Core Identity, com rate limiting no login
  • Versionamento de API (V1 deprecada / V2 ativa) e documentação Swagger
  • Validação de entrada com FluentValidation e erros no padrão Problem Details (RFC 7807)
  • Testes de unidade e integração com xUnit, NSubstitute e WebApplicationFactory
  • Containerização com Docker e deploy gratuito no Render

Stack e arquitetura

.NET 10, EF Core 10 + SQLite, ASP.NET Core Identity, JwtBearer, Mapster, FluentValidation, Swashbuckle, xUnit + NSubstitute; Docker e GitHub Actions no CI

.NET 10EF CoreSQLiteJWTxUnitDockerGitHub Actions

Destaques

  • Refresh tokens rotativos com revogação do token antigo
  • Soft delete nos recursos para preservar o histórico
  • Versionamento V1/V2 sem quebrar consumidores existentes
  • Cobertura de testes cobrindo autenticação, autorização e CRUD

Aprendizados

Gerir sessões com refresh tokens, versionar API sem quebrar clientes e escrever testes de integração que sobem a API de verdade foram os aprendizados que mais mudaram minha abordagem de desenvolvimento backend: seguro, testável e com ciclo de release confiável.