O desafio consiste em uma aplicação onde seja possível listar os usuários do GitHub e ver mais detalhes de cada um deles.
Para conseguir utilizar o projeto e contribuir nele, basta seguir as instruções abaixo:
- O Node.js é OBRIGATÓRIO para executar esse projeto e é RECOMENDADO usar a versão LTS.
- O NPM ou Yarn são OBRIGATÓRIO para o gerenciamento dos pacotes da aplicação.
- O Git é OBRIGATÓRIO para o controle de versão do projeto.
Primeiro clone o repositório em seu computador, por meio do terminal utilizando o comando:
- Clonando o repositório
# Clone o repositório
$ git clone https://github.com/Juninho-dev/challenge-shaw-and-partners.git
# Entre na pasta raiz da aplicação
$ cd challenge-shaw-and-partners
- Iniciando o Projeto
# Instale as dependências da aplicação web
$ cd web && yarn # ou npm install
# Execute o comando abaixo para iniciar o projeto
$ yarn dev
# Instale as dependências da aplicação api
$ cd api && yarn # ou npm install
# Execute o comando abaixo para iniciar o servidor
$ yarn dev
- SOLID
- MVC
- Repository Pattern
O projeto esta dividido em:
- Controller
- Middleware
- Repositories
- Validators
- Routes
- Helpers
É responsável por intermediar as requisições enviadas pelo Front com as respostas fornecidas pelo Model, processando os dados que o usuário informou e repassando para outras camadas, utilizando a arquitetura MVC.
Responsável por barrar as requisições e manipular as informações. Foi criado o errorMiddleware
responsável por tratar os erros da aplicação utilizando o padrão apiMessage
.
Responsável por implementar as regras de negócio no que se refere aos modelos de banco de dados.
Responsável por tratar e validar as informações enviadas pelo Front.
Responsável por conter todas as rotas da API
.
Feito para criar funcões que possam ser usadas mais de uma vez no código e tambem manter o código limpo.
- Create
Repository Pattern
module. - Use
SOLID
Arquiteture. - Create
Middleware
errors message. - Implementing tratative errors.
- Use the default response api.
- Create users routes.
- Create
swagger
documentation. - Create unit tests.
- Install
tailwindcss
and config. - Create List Users page.
- Create User details page.
- Configure
cypress
and automatized tests. - Install axios and configure
api.ts
Feito com 💙 por 👾Juniel ® 2022.