Projeto academico de um sistema de autoatendimento para cantina universitaria, desenvolvido com Spring Boot e JavaFX. A aplicacao concentra fluxo de pedido, pagamento, administracao de produtos e relatorios operacionais em uma unica base.
Curso: Ciencia da Computacao (URI Santo Angelo)
Disciplina: Linguagem de Programacao III
Professor: Prof. Denilson Rodrigues da Silva
Autores: Thiago Ruiz e Guilherme Marschall
O sistema foi pensado como um terminal digital de autoatendimento para uso em cantinas universitarias. A camada de negocio e persistencia roda com Spring Boot, enquanto a experiencia do usuario foi implementada em JavaFX.
Principais capacidades do prototipo:
- cadastro e consulta de produtos;
- montagem e confirmacao de pedidos;
- simulacao de pagamento e calculo de troco;
- autenticacao administrativa;
- relatorios de vendas, estoque baixo, validade e horario de pico.
- Java 17
- Spring Boot 3.2.3
- JavaFX 21
- Maven Wrapper
- H2 como banco local em arquivo
Estrutura principal do repositorio:
cantinasa/: codigo-fonte da aplicacao, recursos JavaFX e configuracoes Maven.docs/diagramas/: diagramas de arquitetura, classes, banco e caso de uso.README.md: visao geral do projeto e instrucoes de execucao.
Padroes observados no projeto:
- MVC na camada JavaFX;
- DTOs e mappers para transporte de dados;
- separacao entre controller, service, repository e model.
| Atores | Fluxo principal |
|---|---|
| Cliente | 1. Seleciona categoria e produto. 2. Ajusta quantidades. 3. Confirma pedido. 4. Realiza pagamento. 5. Recebe comprovante. |
- Java 17
- Permissao para abrir interface grafica JavaFX
cd cantinasa
./mvnw clean packageNo Windows, use mvnw.cmd.
cd cantinasa
./mvnw spring-boot:runA aplicacao sobe o contexto Spring e abre a interface JavaFX. O banco H2 local e criado em cantinasa/data/.
O projeto carrega dados de exemplo a partir de src/main/resources/data.sql, incluindo usuarios, produtos, pedidos e pagamentos. Uma credencial administrativa de teste presente nesse arquivo e:
- usuario:
admin@admin - senha:
admin
As classes principais ja possuem JavaDoc no codigo-fonte. Isso ajuda na navegacao da base e complementa esta documentacao de alto nivel.







