🗺 Desafio "Shaw and Partners"

Develop by GitHub last commit

💭 Sobre

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.


👨‍💻 Tecnologias Utilizadas


⁉ Primeiros passos

🤔 Pré-requisitos

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.

📝 Passo a passo

Primeiro clone o repositório em seu computador, por meio do terminal utilizando o comando:

  1. 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
  1. 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

💯 Padrões do projeto

  • SOLID
  • MVC
  • Repository Pattern

Documentação da arquitetura

O projeto esta dividido em:

  • Controller
  • Middleware
  • Repositories
  • Validators
  • Routes
  • Helpers

Controller

É 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.

Middleware

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.

Repositories

Responsável por implementar as regras de negócio no que se refere aos modelos de banco de dados.

Validators

Responsável por tratar e validar as informações enviadas pelo Front.

Routes

Responsável por conter todas as rotas da API.

Helpers

Feito para criar funcões que possam ser usadas mais de uma vez no código e tambem manter o código limpo.


🚧 Lista de Atividades

TO DO API

  • 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.

TO DO WEB

  • 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.