/functional-smooothies-inc

Aplicação Front-end e Back-end de listagem de ingredientes.

Primary LanguageJava

functional-smooothies-inc

Sumário


Descrição

Objetivo: Neste projeto foi desenvolvido uma aplicação completa com front-end em javascript e React.js, um back-end em Java e SpringBoot. Essa aplicação simula uma interface de listagem de ingredientes de Smoothies.

  • Arquitetura REST;
  • Conseitos de SOLID e POO;
  • Java 11;
  • Maven;
  • Javascript;
  • Node.js;
  • React.js;
  • Testes com JUnit;
  • Docker;

Pré-requisitos

  • npm version 6.14.13
  • node version 14.17.0
  • openjdk 11.0.16
  • Apache Maven 3.6.3
  • docker version 20.10.13
  • docker-compose version 1.29.2

Instalação

  • Clone o repositório
      git clone git@github.com:esdrasoliveira5/functional-smooothies-inc.git
  • Vá para a pasta da aplicação
      cd functional-smooothies-inc
    

Instruções para iniciar o projeto


  • Comando para iniciar

    sudo docker-compose up
    
    
  • Acesse a aplicação web front-end pela rota

    http://localhost:5173/
    
    
  • Acesse a aplicação Java Spring-Boot back-end pela rota

    http://localhost:8080/
    
    

Documentação


Tipos de Smoothies

  • Classic: strawberry, banana, pineapple, mango, peach, honey
  • Freezie: blackberry, blueberry, black currant, grape juice, frozen yogurt
  • Greenie: green apple, lime, avocado, spinach, ice, apple juice
  • Just Desserts: banana, ice cream, chocolate, peanut, cherry

  • Listar Ingredientes

    POST /ingredients/create

    Esse endpoint retorna uma lista de ingredientes.

    • Exemplo request body

      {
          "ingredient": "Classic"
      }
    • Exemplo response body

        {
            "ingredient": "strawberry,banana,pineapple,mango,peach,honey"
        }

    Remover ingredientes especificos

    POST /ingredients/create

    Esse endpoint retorna uma lista com exceção do ingrediente especificado.

    • Exemplo request body

      {
          "ingredient": "Classic, -strawberry,-banana"
      }
    • Exemplo response body

        {
            "ingredient": "pineapple,mango,peach,honey"
        }