- Inicie realizando o download do projeto
git clone https://github.com/omausantos/challenge-nodejs-baas
- Agora é instalar as dependencias via NPM ou YARN (observe que deve estar dentro da pasta onde encotnra-se o arquivo package.json)
npm install
OU
yarn install
- Lembre de criar as variaveis de ambiente, para acesso ao MongoDB e Secret JWT, no arquivo .env
URL_ACCESSE_MONGODB = 'XXXXXXXX'
SECRET_AUTH = 'XXXXXXXX'
- Então é hora de inicializar o projeto!
npm run dev
OU
yarn dev
-
Tudo pronto? Acesse http://localhost:3000/ e os EndPoints estarão disponiveis
-
Documentação das API`s estão disponiveis em http://localhost:3000/swagger
API POST/accounts Criar conta para usuário cadastrado, não está com autenticação para que possam criar um usuário para teste
O desafio é composto por 11 EndPoints, separados em 4 grupos e documentação.
- GET /accounts: Lista todas as contas cadastradas
- GET /accounts/ID: Todos os dados de uma conta especifica
- GET /accounts/balance/ID: Saldo de uma conta especifica
- POST /accounts: Criar conta para usuário cadastrado
- POST /accounts/transfer: Transferencia bancaria entre contas P2P
- POST /auth: Requisitar token JWT
- POST /documents: Inclusão de documento por usuário
- GET /documents/ID: Lista de todos os documentos por usuário
- GET /users: Lista todos os usuários cadastrados
- GET /users/ID: Todos os dados de um usuário especifico
- POST /users: Inclusão de novo usuário
- Documentação Swagger: Desenvolver documentação das API`s via Swagger
ESLint
ferramenta para padronização de código, identificação de erros e unificação.bcryptjs
biblioteca para criptografia de dados e variaveis.cors
utilizada junto com Express, auxilia no controle de CORS entre aplicações.dotenv
gestão de variaveis de ambiente.express
framework para desenvolvimento de API Rest em NodeJS.jsonwebtoken
gestão de tokens JWT.mongoose
gestão do acesso ao MongoDB.multer
gestão de uploads de arquivos no NodeJS.mime-types
para validação do upload de arquivos, junto com @multer.swagger-ui-express
server para documentação API Swagger.