Giter VIP home page Giter VIP logo

espheradelivery's Introduction

SISTEMA DE RESTAURANTE

Java Spring PostgreSql Swagger Docker GoogleMaps JWT Hateoas Restful CORs

Docker Hub Repo

Projeto de gerenciamento de restaurante, tem o objetivo de fornecer um PDV para fazer pedidos, entregas, compras, motoboys, cupons de desconto e calculo de valor da entrega a partir da distancia e valor por KM cadastrado.

Objetivo

Tem como intuito fornecer um sistema onde o cliente pode fazer o pedido a partir do site e também terá um PDV para o restaurante, as compras é o módulo onde será registrado as compras do estabelecimento, possiblitando dar saldo aos produtos. O módulo de delivery será utilizado quando o pedido for delivery, assim o estabelecimento poderá selecionar o motoboy para entrega, no módulo de configurações será possível colocar a taxa por KM, foi usado duas APIS do google, uma para obter o PLACEID a partir do endereço fornecido pelo cliente e outra para a partir desse PLACEID obter a distancia e duração da viagem, enviando para API o PLACEID do destino e do estabelecimento. Conta também com um módulo para descontos, onde o estabelecimento pode cadastrar um cupom, com a porcentagem do desconto, data de inicio e data de expiração.

Arquitetura

Este projeto contará com um banco de dados centralizado para armazenar os dados de todas as empresas, onde cada registro no banco de dados contará com o ID da empresa para diferenciar os dados, foi optado por essa arquitetura para facilidade de manutenção e versionamento, sendo assim cada requisição tem de ser passado o ID da empresa, mas quando a autenticação for implementada será armazenado o ID da empresa através do token JWT.

Instalação

  1. Clone o repositório:
git clone https://github.com/joaopedropc7/espheradelivery.git
  1. Instale as dependências com o Maven

  2. Instale PostgreSql

Inicio

  1. Gere o .jar ou compile o projeto usando o maven.
  2. A API ficará acessível em http://localhost:8080
  3. Teste os endpoints através do swagger, ficará disponível em http://localhost:8080/swagger-ui/index.html

Autenticação

A autenticação é feita através do JWT, para gerar o token é necessário fazer uma requisição POST para o endpoint /api/authentication/login, passando o email e senha do usuário, o token gerado tem validade de 12 horas, após esse tempo é necessário gerar um novo token. Apenas usuários ADMIN podem cadastrar novos usuários, para isso é necessário fazer uma requisição POST para o endpoint /api/authentication/register, passando o nome, email, senha e o ID da empresa.

espheradelivery's People

Contributors

jpedro1010 avatar joaopedropc7 avatar

Stargazers

Hans Christian avatar Manoel Mesquita 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.