Pular para o conteúdo principal
JonaFerreira
/// VOLTAR_PARA_PROJETOSCASE_STUDY: EVENT ENGINE
ID: EVENT ENGINE2025Gerenciamento de Eventos Acadêmicos

MyEvents

Plataforma para gerenciamento completo de eventos acadêmicos, incluindo criação de eventos, controle de inscrições e geração/emissão automatizada de certificados com autenticação JWT e Clean Architecture.

/// 01_RESULTADOS_MEDIDOS_E_IMPACTO

100%
Automação
Geração instantânea de certificados em PDF
Zero
Inscrições Duplicadas
Transações atômicas com Unit of Work
Clean
Arquitetura
Camadas isoladas e altamente testáveis

/// 02_DIAGRAMA_DE_ARQUITETURA_E_FLUXO

/// CLEAN_ARCH // MYEVENTS_ENGINEJWT_AUTH: ACTIVE
UNIT OF WORKAtomic Transactions
CERTIFICATES100% AUTOMATED
POSTGRESQL + EF COREFLUENT VALIDATION
FLOW_TRACE:HTTP Request -> JWT Auth Filter -> FluentValidation -> Unit of Work Transaction -> PostgreSQL Commit -> Certificate Generation

/// 03_CONTEXTO_DE_NEGÓCIO_E_DESAFIOS

Organização de eventos acadêmicos frequentemente enfrenta gargalos no credenciamento, controle de vagas por atividade e morosidade na emissão de certificados válidos para os participantes.

Desafios Técnicos Identificados:
  • >Garantir concorrência segura no limite de inscrições por oficina/palestra.
  • >Implementar emissão automatizada e autêntica de certificados com token de verificação.
  • >Manter código altamente testável desacoplando regras de negócio do banco de dados.

/// 04_DECISÕES_DE_ARQUITETURA

Desenvolvido em C# ASP.NET Core seguindo os princípios de Clean Architecture (Domain, Application, Infrastructure, WebAPI), utilizando Entity Framework Core com PostgreSQL, FluentValidation para validações de contrato e FluentMigration para versionamento de esquema.

Clean Architecture + Unit of Work

Desacoplamento das entidades de domínio e regras de negócio da camada de persistência, garantindo atomicidade em transações de inscrição.

FluentValidation & Exception Middleware

Centralização do tratamento de inconsistências de dados antes de atingir os serviços da aplicação, retornando respostas padronizadas.

/// 05_TRADE_OFFS_E_COMPROMISSOS_TÉCNICOS

DECISÃO ADOTADA:Clean Architecture em camadas vs Desenvolvimento em controller direto (CRUD simples)
✓ RATIONALE (POR QUE):Embora adicione mais arquivos e interfaces, garante que o sistema de eventos possa evoluir para microsserviços ou suporte a pagamento sem reescrever o domínio.
⚠ DOWNSIDE (TRADE-OFF):Ligeiro aumento de código boilerplate inicial para entidades simples.
TECNOLOGIAS UTILIZADAS NO CASE
C#.NET CoreASP.NET CoreEntityFrameworkPostgreSQLJWTClean ArchitectureFluentValidation
Ver Todos os Projetos →