Skip to content

Sistema de autoatendimento desenvolvido com Spring Boot e JavaFX para cantinas universitárias(TOKEN), permitindo seleção de produtos, montagem e pagamento de pedidos, controle administrativo de estoque e caixa, geração de relatórios e autenticação de funcionários.

Notifications You must be signed in to change notification settings

guilhermemarch/cantina-selfservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Autoatendimento para Cantina Universitária – Documentação

Curso: Ciência da Computação (URI – Santo Ângelo)
Disciplina: Linguagem de Programação III
Professor: Prof. Denilson Rodrigues da Silva

Autores: Thiago Ruiz e Guilherme Marschall
Versão: 1.0 – 14/06/2025
Repositório: https://github.com/guilhermemarch/cantinasa


1. Visão Geral

Este documento descreve a análise, projeto e instruções de implementação de um terminal digital de autoatendimento para cantinas universitárias. O sistema foi desenvolvido em Spring Boot (camada de negócio e persistência) e JavaFX (interface gráfica), seguindo arquitetura MVC e princípios SOLID.


2. Escopo do Protótipo

2.1 Funcionalidades Principais

  • Autoatendimento: seleção de produtos, montagem do pedido, confirmação e pagamento.
  • Pagamentos: simulação de valores em moeda/cédula com cálculo de troco.
  • Administração: autenticação de funcionários, abastecimento de estoque, retirada de valores.
  • Relatórios: produtos mais vendidos, horários de pico, transações, itens vencidos/próximos do vencimento.
  • Tratamento de Exceções: falta de produto, ausência de troco, cancelamento de compra.

2.2 Exemplos Visuais do Sistema

Abaixo, algumas telas do sistema em funcionamento:

Tela Inicial
Tela Inicial

Seção de Produtos
Seção de Produtos

Exemplo 1
Exemplo 1

Exemplo 2
Exemplo 2

Exemplo 3
Exemplo 3

Exemplo 4
Exemplo 4

Exemplo Geral
Exemplo Geral

3. Arquitetura de Software

Diagrama de Arquitetura

3.1 Padrões Utilizados

  • MVC na UI JavaFX (Controller, Service, Repository).
  • DTO + Mapper para comunicação REST interna.
  • Observer para alertas de estoque.

4. Modelagem de Domínio

4.1 Diagrama de Classes (resumido)

Diagrama de Classes

4.2 Esquema de Banco (PostgreSQL)

Diagrama do Esquema de Banco


5. Casos de Uso

UC‑01 – Realizar Pedido

Atores Fluxo Principal
Cliente 1. Seleciona categoria e produto.
2. Ajusta quantidades.
3. Confirma pedido.
4. Realiza pagamento.
5. Recebe comprovante.

Diagrama de Caso de Uso - Realizar Pedido


6. Componentes Principais

Componente Descrição
ProductService Regras de negócio do produto e estoque.
OrderService Orquestra criação do pedido.
PaymentStrategy Implementa Pagamento para dinheiro, cartão, PIX.
ReportService Gera relatórios
AuthController Endpoints de login/logout admin.

  1. Clone e Build

    git clone https://github.com/guilhermemarch/cantinasa.git
    cd cantinasa
    mvn clean package -DskipTests
  2. Execução

    java -jar backend/target/cantinasa-api.jar
    java -jar desktop/target/cantinasa-ui.jar

📄 Documentação JavaDoc

A documentação JavaDoc foi escrita manualmente diretamente no código-fonte, com comentários explicativos em cada classe, método e endpoint relevante.

Essa abordagem visa facilitar a compreensão da estrutura e funcionamento da API para outros desenvolvedores e colaboradores do projeto.


About

Sistema de autoatendimento desenvolvido com Spring Boot e JavaFX para cantinas universitárias(TOKEN), permitindo seleção de produtos, montagem e pagamento de pedidos, controle administrativo de estoque e caixa, geração de relatórios e autenticação de funcionários.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •