Essa é parte do desafio técnico da Ebytr reservada para o desenvolvimento do back-end que foi feita para atender a arquitetura da stack MERN como requisitado. Neste trabalho foram usados conhecimentos sobre modelagem de banco de dados e formas normais para se criar um banco de dados NoSQL sem duplcidade, com melhor manutenabilidade, menor probabilidade de erros e de conflitos.
Foi usado a arquitetura de software MSC (Model, Service e Controller) para organizar o código de desenvolvimento da API, em que cada uma dessas partes técnicas foram testadas com testes unitários, e padrões REST para manter a qualidade e funcionamento da mesma. A API possui uma rota para autenticação do usuário (/collaborator), já que se trata de uma plataforma de uma empresa onde apenas os colaboradores precisam visualizar a lista de tarefas, possui, também, quatro rotas CRUD (Create, Read, Update e Delete) das tarefas a serem realizadas (/task) e por fim, uma única rota para adquirir todos os status disponíveis.
As ferramentas principais utilizadas foran:
Express
Atlas
MongoDB
Node.js
Postman
Heroku
ESLint
Após cada um dos passos a seguir, haverá um exemplo do comando a ser digitado para fazer o que está sendo pedido, caso tenha dificuldades e o exemplo não seja suficiente, não hesite em me contatar em eduardawiltiner@gmail.com.
- Abra o terminal e crie um diretório no local de sua preferência com o comando mkdir:
mkdir backend-ebytr
- Entre no diretório que acabou de criar e depois clone o projeto:
cd backend-ebytr
git clone https://github.com/dudawiltiner/desafio-backend-ebytr.git
- Entre no diretório criado após a clonagem do repositório. No caso de uso do VSC, digite o comando code . na raiz do diretório clonado.
cd desafio-backend-ebytr
- Installe todas as dependências, usando o CLI npm.
npm install
- Abra no ambiente de desenvolvimento de sua preferência.
code .
- Rode a aplicação com o node.js, usando o CLI npm.
npm run debug
- Rode o teste da aplicação com o node.js, usando o CLI npm.
npm test
Ou se preferir rodar um único arquivo de teste:
NAME=<arquivodeteste> npm test
https://desafio-backend-ebytr.herokuapp.com/
|_Para endpoints digite também:
|__/task (GET, POST, PUT, DELETE)
|__/collaborator (POST, GET)
|__/status (GET)
OBS:Lembrando que todos os endpoints menos o de autenticação precisam de autorização ou seja validação do token JWT.