Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/augustodevjs/pokemon-challenge
Pokemon Challenge com .NET & React e Angular
https://github.com/augustodevjs/pokemon-challenge
Last synced: 6 days ago
JSON representation
Pokemon Challenge com .NET & React e Angular
- Host: GitHub
- URL: https://github.com/augustodevjs/pokemon-challenge
- Owner: augustodevjs
- Created: 2023-10-27T18:46:14.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-30T14:03:01.000Z (about 1 year ago)
- Last Synced: 2024-11-08T23:53:07.113Z (6 days ago)
- Language: C#
- Homepage:
- Size: 9.58 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 🖼️ Frontend - React & Angular
A organização de pastas dos projetos Angular e React é feita dividindo as responsabilidades em módulos para organizar o projeto como um todo e facilitar o desenvolvimento. Os modulos são:- **components**: Módulo que comporta todos os componentes feitos no projeto;
- **core**: Módulo que possui arquivos e utilitarios essenciais para o funcionamento da aplicação;
- **domain-types**: Módulo referente a todos os tipos criados com o auxilio do Typescript;
- **services**: Módulo que comporta todos os services que fazem comunicação com o Back-End;
- **styles**: Módulo que comporta estilizações globais;
- **pages ou modules**: Módulo que comporta todos os componentes referentes às páginas, seus modais, hooks, serviços que se comunicam e etc.## 💡 Rodando o Front-End
### Pre-requisitos
Antes de tudo é necessário instalar:
- Node.js
- Instalando o TypeScript
```sh
npm install -g typescript
```- Instalando o yarn
```sh
npm install --global yarn
```
- Verificando se o yarn está instalado```sh
yarn --version
```- Clonando o respositório
```sh
git clone https://github.com/augustodevjs/undefined-challenge
```- Entre no diretório do (Angular)
```sh
cd ./frontend/angular
```- Instale as dependencias do projeto (Angular)
```sh
npm install
```- Rodando o projeto no modo de desenvolvimento (Angular)
```sh
ng server || ng s || npm start
```- Entre no diretório do (React)
```sh
cd ./frontend/react
```- Instale as dependencias do projeto (React)
```sh
yarn
```- Variável de Ambiente (React & Angular)
```sh
lembre-se de mudar a variável de ambiente(Angular) - mude no arquivo environment.development
(React) - siga o exemplo do arquivo .env.example e crie um arquivo .env
```- Rodando o projeto no modo de desenvolvimento (React)
```sh
yarn run dev
```- Na imagem do Pokemon você pode seguir esse formato da api do pokemon
```sh
https://img.pokemondb.net/artwork/large/{nome-do-pokemon}.jpg
```## :desktop_computer: Principais tecnologias utilizadas no Front-End
- React
- Angular
- Ng Boostrap
- Axios
- TypeScript
- Sweet Alert
- React Select
- React Modal
- React Hook Form
- Styled Components## ⌨️ Back-End
Utilizei o framework .NET 7 junto com o Entity Framework para desenvolver a aplicação. Dividi os módulos e conectei tudo ao banco de dados MySQL. Organizei o código seguindo a abordagem de Domain Driven Design (DDD), o que facilitou bastante a implementação de regras de negócios e outros processos complexos. Além disso, incluí testes abrangentes na camada de aplicação, atingindo uma cobertura total de 100%.
Dito isso, o projeto foi estruturado em 5 "camadas" que são:- **API**: Comporta configurações da aplicação e controllers;
- **application**: Cuida da comunicação com o Domain, comportando: classes de serviços, interfaces, DTOs, etc;
- **infra**: Comporta o suporte geral às demais implementações como repositories, contextos e etc;
- **domain**: Comporta todas as entidades, interfaces e validações;
- **tests**: Comporta todos os testes das services.## 💡 Rodando o Back-End
### Pre-requisitos
- NET SDK
- MySql
- DBeaver- Entre no diretório do back
```sh
cd ./backend/src/Pokemon.API
```- Rode a API
```sh
dotnet run
```- Para vê os testes unitários do backend entre no diretório
```sh
cd ./backend/tests/Pokemon.Application.Tests
```- Rode os Testes
```sh
dotnet test
```## :desktop_computer: Principais tecnologias utilizadas no Back-End
- C#
- xUnit
- .NET 7
- MySql
- DBeaver
- AutoMapper
- FluentValidation
- Entity Framework