Skip to content

Projeto de aplicativo para controle de restaurante, utilizado para prática de desenvolvimento Java no Programa +Devs2Blu 2023

Notifications You must be signed in to change notification settings

RavinProject/ProjetoRavin

Repository files navigation

Project Logo

Sobre

Este projeto é uma atividade do programa +Devs2Blu 2023. Criamos um sistema para gerenciar um restaurante fictício, segundo algumas especificações gerais. Na fase #1 do projeto, estamos desenvolvendo apenas em Java, sem frameworks. Nossa abordagem foi partir para Code-first, e assim que o sistema estiver minimamente completo, iniciaremos a integração com uma camada de persistência.

Confiram nossa Wiki do Projeto bem como temos desenvolvido nossa organização de fluxo de trabalho!

Rodando o Projeto localmente

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte instalado em seu sistema:

Como executar

  1. Clone o repositório para sua máquina local usando o Git:
git clone https://github.com/RavinProject/ProjetoRavin.git
  1. Navegue até o diretório que contém a classe principal App.java:
cd ProjetoRavin/src/main/java/org/ravin
  1. Compile o código:
javac App.java
  1. Execute a classe principal:
java App

Status atual

Entidades Criação (Create) Leitura (Read) Atualização (Update) Deleção (Delete)
Cardápio 🚧 🚧 🚧 🚧
Cliente ✔️ ✔️ ✔️ ✔️
Comanda 🚧 🚧 🚧 🚧
Estoque ✔️ ✔️ ✔️ ✔️
Funcionário ✔️ ✔️ ✔️ ✔️
Mesa 🚧 🚧 🚧 🚧
Pedido 🚧 🚧 🚧 🚧
Produto ✔️ ✔️ ✔️ ✔️

Conceitos aplicados

Arquitetura

Padrão MVCS, desacoplando a parte visual, entidades, regra de negócios e dados

Architecture

Conceitos gerais

  • Abstração
  • Encapsulamento
  • Herança
  • Polimorfismo Estático ou Sobrecarga
  • Polimorfismo Dinâmico ou Sobrescrita (método buscaPorCpf em ClienteController.java, FuncionarioController.java e PessoaController.java)
  • Interfaces individualizadas (SIP)

Design Patterns

  • Singleton
    • Classe ListaDados.java, a qual monta as listas de dados fictícios ao iniciar o programa
  • Factory + Strategy
    • Sistema flexível de Descontos utilizado para a regra de negócios de Desconto de Aniversariante
    • Foi pensado para facilitar a implementação futura de outras regras de descontos
  • Inversion of Control
    • Nesta etapa do desenvolvimento do sistema, ainda não estamos fazendo uso de Frameworks.
    • Mesmo assim, criamos uma sequência de dependências parametrizadas entre as classes do sistema, facilitando futuras alterações

Diagrama de Classe

Class Diagram

About

Projeto de aplicativo para controle de restaurante, utilizado para prática de desenvolvimento Java no Programa +Devs2Blu 2023

Resources

Stars

Watchers

Forks

Packages

No packages published