Giter Site home page Giter Site logo

front's Introduction

ServeRest

Servidor REST para estudo de testes de API

serverest version Docker Pulls Mutation test score serverest total downloads

Código de conduta | Como contribuir | Histórico de alterações | Doadores

Logo do ServeRest

ServeRest permite o estudo de:

  • Verbos GET, POST, PUT e DELETE com persistência de dados
  • Teste de carga
  • Autenticação no header
  • Query string
  • Teste de schema json

Ambientes disponíveis

Online em serverest.dev
Texto serverest.dev
Local com NPM

Logo do NPM
Local com docker
Logo do Docker

Print do ServeRest iniciado no terminal

Consumindo o ServeRest

O ServeRest está disponível de forma online, no npm e no docker.

Todas essas opções possuem as mesmas rotas, regras, dados pré-cadastrados e documentação. Escolha a melhor opção para você.

No ambiente online os dados cadastrados são removidos diariamente, enquanto que no local basta reiniciar o ServeRest.

Prefira a opção de ambiente local caso precise que os dados não sejam alterados por outro usuário.

Online

Acesse https://serverest.dev para visualizar a documentação e as rotas disponíveis.

Essa é a melhor opção para quem não possui NPM e Docker na máquina ou não quer preocupar em gerenciar ambiente.

O ServeRest online possui monitoramento constante do status e tempo de atividade para garantir que esteja sempre disponível.

Localmente com NPM

Execute o seguinte comando no terminal:

npx serverest@latest
Abra para ver detalhes de configuração do ServeRest com NPM

Configuração

Para visualizar as configurações que são possíveis de serem feitas execute o comando:

npx serverest -h

Informação de opções e exemplos fornecidos no terminal

Segurança (--nosec)

Por default, o ServeRest irá fazer as seguintes alterações no cabeçalho, que podem ser desabilitadas com npx serverest --nosec:

Cabeçalhos adicionados:

  • Strict-Transport-Security: max-age=15552000; includeSubDomains
  • X-Content-Type-Options: nosniff
  • X-DNS-Prefetch-Control: off
  • X-Download-Options: noopen
  • X-Frame-Options: SAMEORIGIN
  • X-XSS-Protection: 1; mode=block

Cabeçalho removido:

  • X-Powered-By: Express

Utilize esse comportamento nos seus testes, validando a presença/ausência desses cabeçalhos.

Para saber mais leia o checklist de segurança de API


Localmente com docker

Execute o seguinte comando no terminal:

docker run -p 3000:3000 paulogoncalvesbh/serverest:latest

Para visualizar as configurações que são possíveis de serem feitas execute o comando:

docker run -p 3000:3000 paulogoncalvesbh/serverest:latest --help

Executando versão específica

Em ambos os comandos de subida de ambiente local será utilizado a última versão disponível. Caso queira usar uma versão específica basta substituir o latest pela versão desejada.

Você pode encontrar as versões disponíveis na lista de tags no Docker Hub e na lista de versões do NPM.

Teste de carga

IMPORTANTE

O teste de carga deve ser executado apenas em ambiente local (disponibilizado via NPM ou Docker e acessível via http://localhost:3000).

O não seguimento vai acarretar em prejuízo para o projeto open source e gratuito e irá impactar o estudo de outras pessoas.

Acesso ao status

Para acompanhar o comportamento do ServeRest diante dos seus testes você pode acessar a página http://localhost:3000/status, que contém informações como:

  • Uso de CPU.
  • Uso da memória.
  • Tempo de resposta.
  • RPS (Requisições por segundo).

A página de status (/status) está disponível apenas localmente.

Fez teste de carga? O que acha de compartilhar com o autor do projeto o repositório e o relatório final contendo dados de RPS para auxiliar o ServeRest a entender o comportamento de sua infra?

Badge

Criou repositório utilizando o ServeRest? Adicione o código abaixo no topo do README.md para ter a badge do projeto.

Badge ServeRest

[![Badge ServeRest](https://img.shields.io/badge/API-ServeRest-green)](https://github.com/ServeRest/ServeRest/)

Exemplos de automação

Os repositórios abaixo são exemplos de automação com boas práticas e que consome o ServeRest.

Para encontrar mais repositórios acesse https://github.com/search?q=serverest&type=Repositories

Doadores

Achou o projeto útil? Faça doação única ou mensal a partir de 1 dólar e ajude a pagar o domínio, a hospedagem e a manutenção de https://serverest.dev.

Pessoas que apoiam o ServeRest:

Apoiador individual - Open Collective

Empresas que apoiam o ServeRest financeiramente:

Logo da Compass Uol Logo da Compass Uol Logo da EBAC Logo da EBAC Logo da Agilizei

Todos os apoiadores anteriores e atuais podem ser vistos no Open Collective do ServeRest.

Patrocínio com produtos

ServeRest é apoiado pelas seguintes empresas, que fornecem acesso aos seus produtos através de plano de apoio a projetos open source:

Logo do Datadog Logo do 1password

Contribuidores ✨

Veja aqui como você pode contribuir. Contribuições de qualquer tipo são bem-vindas!

Leandro Muto
Leandro Muto

📖 🚇
Felipe Rodrigues
Felipe Rodrigues

🚇
Lucas Amaral
Lucas Amaral

📢 🐛 📖
lucas.fraga
lucas.fraga

🤔 🐛
bruno batista
bruno batista

🤔
Elias Reis
Elias Reis

🚧 🚇
gabriel-pinheiro
gabriel-pinheiro

💻 🤔
Rafael Gomes
Rafael Gomes

🚇
Diego Bandeira
Diego Bandeira

🚇
Maximiliano Alves
Maximiliano Alves

📢
Murilo Maia
Murilo Maia

💻
Cristina Nazário
Cristina Nazário

🤔 🐛
Eduardo Santos
Eduardo Santos

💻
Renato Davoli
Renato Davoli

💻

front's People

Contributors

brunobatista25 avatar lorainegarutti avatar maximilianoalves avatar paulogoncalvesbh avatar samlucax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

front's Issues

Cadastro de produto sem validar obrigatoriedade da imagem

No frontend, no cadastro de produtos, o campo de upload da imagem leva a crer que o mesmo é obrigatório:
image

Contudo está sendo possível cadastrar itens sem imagem:
image

Se trata de um bug, ou uma feature, para que testadores (como eu 😄 ) tenham falhas a encontrar?

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.