/challenge-nodejs-baas

Desafio de NodeJs sobre os conhecimentos em Bank as a Service

Primary LanguageTypeScript

šŸ¤“ Bora codar?

  1. Inicie realizando o download do projeto
git clone https://github.com/omausantos/challenge-nodejs-baas
  1. 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
  1. Lembre de criar as variaveis de ambiente, para acesso ao MongoDB e Secret JWT, no arquivo .env
URL_ACCESSE_MONGODB = 'XXXXXXXX'
SECRET_AUTH = 'XXXXXXXX'
  1. EntĆ£o Ć© hora de inicializar o projeto!
npm run dev
OU
yarn dev
  1. Tudo pronto? Acesse http://localhost:3000/ e os EndPoints estarĆ£o disponiveis

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

šŸ“¦ EndPoints do Desafio

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

Package.json

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