Code Monkey home page Code Monkey logo

api-diet-control's Introduction

API Diet Control

API com fastify para gerenciar dietas.


RFs - Requisitos Funcionais - (Regras da aplicação)

  • Deve ser possível criar um usuário

  • Deve ser possível identificar o usuário entre as requisições

  • Deve ser possível registrar uma refeição feita, com as seguintes informações:

    As refeições devem ser relacionadas a um usuário.

    • Nome
    • Descrição
    • Data e Hora
    • Está dentro ou não da dieta
  • Deve ser possível editar uma refeição, podendo alterar todos os dados acima

  • Deve ser possível apagar uma refeição

  • Deve ser possível listar todas as refeições de um usuário

  • Deve ser possível visualizar uma única refeição

  • Deve ser possível recuperar as métricas de um usuário

    • Quantidade total de refeições registradas
    • Quantidade total de refeições dentro da dieta
    • Quantidade total de refeições fora da dieta
    • Melhor sequência de refeições dentro da dieta
  • O usuário só pode visualizar, editar e apagar as refeições o qual ele criou


RNFs - Requisitos Não Funcionais

  • A API deve ser desenvolvida com Fastify
  • Os dados devem ser armazenados em um banco de dados SQL
  • Deve ser usado um Query Builder
  • A API deve possuir cookies para autenticação do usuário
  • Deve ser desenvolvido testes unitários, de integração e e2e

Rotas da aplicação

  • GET /meals - Retorna todas as refeições do usuário
  • POST /meals - Cria uma nova refeição para o usuário, (Se o usuário não estiver autenticado, é criado uma nova sessão)
  • GET /meals/:id - Retorna uma refeição específica do usuário
  • PUT /meals/:id - Atualiza uma refeição específica do usuário
  • DELETE /meals/:id - Deleta uma refeição específica do usuário
  • GET meals/metrics - Retorna as métricas do usuário

Testes automatizados

  • test/meals.spec.ts (4)
    • should be able to create a new meal
    • should be able to list all meals
    • should be able to get a specific meal
    • should be able to get the metrics

api-diet-control's People

Contributors

wellington-tinho 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.