Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pauloanalista/desafioautoglass
https://github.com/pauloanalista/desafioautoglass
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/pauloanalista/desafioautoglass
- Owner: pauloanalista
- Created: 2024-05-08T16:33:05.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-09T04:16:25.000Z (8 months ago)
- Last Synced: 2024-05-09T16:27:03.327Z (8 months ago)
- Language: C#
- Size: 62.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DesafioAutoGlass
# Paulo Rogério Martins Marques
[![Youtube](https://img.shields.io/badge/Youtube-red.svg?style=for-the-badge&logo=youtube)](https://www.youtube.com/channel/UChoveUE94dFSAPfPiJhFsew)
[![Linkedin](https://img.shields.io/badge/LinkedIn-blue?style=for-the-badge&logo=Linkedin)](https://www.linkedin.com/in/paulorogerio/)Olá, me chamo Paulo Rogério e sou desenvolvedor fullstack, fundei a comunidade ilovecode onde compartilho artigos, cursos técnicos e ajudo outros devs no meu tempo livre.
Minha stack favorita é basicamente qualquer coisa com C# (aplicações web, desktop, mobile e automação), aplicativos híbridos com ionic framework, angular e etc.
Não me limito somente a essas tecnologias, ja fiz apps em flutter, xamarin, react=native, usei diversos frameworks frontend e etc.## Sobre o Desafio
Achei o desafio interessante por não precisar criar uma estrutura muito grande para mostrar nosso conhecimento.
Tomei liberdade em acrescentar algumas coisas novas ao projeto que podem facilitar muito o processo de desenvolvimento.## Observação
Gravei o vídeo antes de terminar 100% do projeto, como fiquei sabendo do desafio hoje e já tinha alguns compromissos, comecei a desenvolver tudo a noite.
Amanhã não terei disponibilidade para gravar o vídeo apresentando o projeto, então tomei a liberdade de mostrar todo o projeto já desenvolvido, com todas regras solicitadas, mas ainda esta pendente o desenvolvimento do teste unitário.
Pretendo entregar o teste unitário amanhã, mas ele não fará parte do vídeo.## Organização do projeto
### Estrutura da Solution
#### Criei 4 projetosAPI -> Responsável por externalizar os recursos
Dominio -> Responsável por toda parte de negócio e contratos
Infra -> Responsável por fazer acesso a repositórios, arquivos e acessar serviços externos
Test -> Responsável por testar todo o projeto
![image](https://github.com/pauloanalista/DesafioAutoGlass/assets/6010161/3053d65f-8b27-4fc8-b342-41eade33941d)
### Vamos falar da API
Normalmente toda configuração inicial da API fica no arquivo Startup.cs, eu acho que fica um pouco bagunçado a parte de DI, então criei um arquivo chamado Setup.cs com o propósito de organizar a DI.Veja como o Startup.cs fica mais organizado
![image](https://github.com/pauloanalista/DesafioAutoGlass/assets/6010161/a2bbede9-c2b8-4a0a-8459-48e77c4509b4)
Confira o arquivo Setup.cs
![image](https://github.com/pauloanalista/DesafioAutoGlass/assets/6010161/af2c4253-3e80-4251-b27f-239098e3e3c0)
Organizar desta forma deixa nosso Startup mais clean e objetivo, veja um exemplo de como fica um projeto real.
#### Exemplo de como configuro meus projetos
```csharp
services.ConfigureMediatR();
services.AddControllers();
services.ConfigureSwagger();
services.ConfigureUploadLimitToMaximum();
services.ConfigureServices();
services.ConfigureRepositories();
services.ConfigureCompression();
services.ConfigureAuthentication();
```### Sobre minha implementação
Apesar do desfio ser simples, tentei criar uma arquitetura mais robusta que pode ser utilizada em um projeto real.
Como usei vários Design Patners, ficaria muito extenso escrever uma documentação, então gravei um vídeo mostrando toda arquitetura.#### Clique na imagem para assistir a apresentação
[![Clique para assistir](https://github.com/pauloanalista/DesafioAutoGlass/assets/6010161/46be0a95-ad26-4e40-b6cf-672301bc587b)](https://youtu.be/d5O57v_ZtFs)https://youtu.be/d5O57v_ZtFs
### Agradecimento
Gostaria de agradecer pelo desafio passado e peço que avaliem o projeto com calma e me mandem feedbacks, mesmo que negativo.
Sei que alguns pontos ainda da para melhorar bastante, mas acho interessante batermos um papo sobre arquitetura pessoalmente.Desde já agradeço pela oportunidade!
Att,
Paulo