O projeto consta de uma API para realização de apontamento de horas trabalhadas por usuários em projetos. A autenticação será baseada em token e serão utilizados tokens JWT sem expiração.
Para a implementação do projeto foram utilizadas as seguintes ferramentas:
Para estruturação dos códigos do projeto, usamos os preceitos da Clean Architecture, daí podemos, com certa facilidade, implementar o uso diferentes bancos de dados, relacional ou NoSQL, e também de frameworks para atender as requisições HTTP e expor a API. No projeto foram escolhidos o framework Hapi
Para teste local da API precisamos ter instalados como pré-requisito os softwares abaixo:
- NodeJS versão 12 ou superior
- Git
- Yarn
- Docker e docker-compose
- Clonar repositório
git clone http://git.Projects.com.br/elissandro/Projects-tracker.git
- Entra na pasta do projeto
cd Projects-tracker
- Instalar as dependencias
yarn
- "Subir" a imagem do banco de dados via Docker
docker-compose up -d
- Criar arquivo .env na pasta raiz do projeto com o conteúdo abaixo:
JWT_SECRET_KEY=R6FxBv7krvjUEGAseTXypVvofr5c503+brL7g/pJhig=
DATABASE_URI=mongodb://root:example@localhost:27017/Projects-tracker-db?authSource=admin
- Executar o projeto
yarn run dev
Se tudo correr bem a API estará disponível em: http://localhost:3000, podendo ser acessada com alguma ferramenta para testes de API, tais como: Postman ou Insomnia.
Para uma documentação da API, acessar: http://localhost:3000/api/v1/documentation.