GithubHelp home page GithubHelp logo

guilhermeais / serverless-challenge Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 374 KB

License: MIT License

JavaScript 99.54% Shell 0.46%
nodejs tdd aws aws-lambda clean-architecture dynamodb dynamodb-local jest serverless-framework

serverless-challenge's Introduction

serverless-challenge

Esse projeto é um desafio realizado em NodeJS, onde foi desenvolvida uma API utilizando TDD, Clean Architecture e Serverless.

A API utiliza o framework Serverless para subir as Lambdas e as API's Gateways para acessar as Lambdas.

O projeto tem mais ou menos 65% de coverage dos testes. Não consegui atingir 100% pois não deu tempo de fazer os testes de integração nas lambdas.

Documentação da API

Retorna todos os funcionários

  GET /employees/{id?}
Parâmetro Tipo Descrição
id string Opcional. ID Do funcionário
cpf string Opcional. CPF Do funcionário
name string Opcional. Nome Do funcionário

Cria um funcionário

  POST /employees
Parâmetro Tipo Descrição
name string Obrigatório. Nome Do funcionário
role string Obrigatório. Cargo Do funcionário
cpf string Obrigatório. CPF Do funcionário
salary string Obrigatório. Salário Do funcionário
age string Obrigatório. Idade Do funcionário

Atualiza um funcionário

  PATCH /employees/{id}

Ao menos um dos parâmetros devem ser passados no body.

Parâmetro Tipo Descrição
name string Opcional. Nome Do funcionário
role string Opcional. Cargo Do funcionário
cpf string Opcional. CPF Do funcionário
salary string Opcional. Salário Do funcionário
age string Opcional. Idade Do funcionário

Deleta um funcionário

  DELETE /employees/{id}
Parâmetro Tipo Descrição
id string Obrigatório. ID Do funcionário

Rodando a aplicação

Rodando os Testes

  npm run test # Roda todos testes
  npm run test:coverage # Roda todos testes e gera coverage
  npm run test:unit # Roda os testes unitários
  npm run test:integration # Roda os testes de integração

Deploy

  npm run deploy # Faz o deploy da aplicação
  npm run deploy:offline # Faz o deploy local da aplicação

A aplicação está rodando no AWS Lambda e pode ser acessada pela API Gateway através do link abaixo: Employees API

serverless-challenge's People

Contributors

guilhermeais avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.