Projeto de API desenvolvido com .Net8.
Instrucoes de execução:
- Relatório de cobertura de código: https://tiagosamaral.github.io/event-note-api/
- Acesso ao Swagger publicado: https://event.api.connectmidia.com/swagger/index.html
- Download de app para teste: https://github.com/TiagoSAmaral/event-list-mobile-app/blob/main/event-list-app-debug.apk
- Projeto app mobile: https://github.com/TiagoSAmaral/event-list-mobile-app
- Uso de LetsEncript + NGINX no servidor para fornecer certificados ssl e garantir conexõees seguras com HTTPS.
Caso necessário a execução manual do projeto poderá ser feita de duas maneiras: Usando Docker ou Execução diretamente no ambiente local.
Na raiz do projeto já existe um script para auxiliar na execução do projeto locamente usando o docker.
Antes é necessário dar permissão de execução ao script. Abra o terminal, navegue até a pasta raiz do projeto event-list-api
execute o comando:
$ chmod +x start-app-docker.shE em seguinda execute o script assim:
$ ./start-app-docker.shAbra o seu terminal, e navegue até a pasta raiz do projeto (event-list-api/) e execute os seguintes comandos:
Instalar as dependências:
$ dotnet restoreRealizar build do projeto:
$ dotnet build
Executar projeto:
$ dotnet run
Tanto com a execução no ambiente ou local usando Docker, o Swagger do projeto poderá ser acessado na URL:
A API do projeto possui a seguinte rota:
- [BASE_URL]/api/eventos
A qual da suporte para as seguintes operações e suas ações:
- GET: Lista os eventos cadastrados
- POST: Recebe uma requisição com o JSON para registrar novo evento.
- GET com parâmetro ID: Recebe o ID de um evento para retornar os dados completos.
- DELETE com parâmetro ID: Permite a remoção do evento.
Para mais detalhes consulte o Swagger do projeto.
Este repositório contém o desafio técnico de desenvolvimento de um aplicativo híbrido em Ionic + Angular, consumindo uma API em .NET 6/7 Web API, com foco em código limpo, escalável, reutilizável e aplicando boas práticas de arquitetura.
- Criar um sistema composto por API (backend).
- Permitir listar, cadastrar e visualizar detalhes de eventos.
- Demonstrar organização, boas práticas e clareza na documentação.
event-list/
├── Src/
| ├── Core/
| ├── Modules/
| | └── Eventlist/
| | ├── Infra/
| | ├── Services/
| | └── Storage/
| └── shared/
| ├── Dtos/
| ├── ExceptionsMessage/
| ├── Middlewares/
| └── ResponseDefault/
└── README.md
- Criar projeto .NET Web API.
- Configurar EF Core (InMemory ou SQLite).
- Implementar entidade
Evento. - Criar repositório e aplicar boas práticas (Repository Pattern / CQRS).
- Implementar validações (título e data).
- Implementar endpoints solicitados.
- Configurar Swagger com documentação.
- Testar CRUD via Swagger ou cliente HTTP.
- Testes unitários (
xUnitpara backend) - CI/CD com GitHub Actions / GitLab CI / Azure DevOps. -> Utilizado o RENDER
- Publicar backend no Azure App Service.