Sistema completo para gestão de distribuidoras de água e bebidas, com controle de estoque, pedidos, financeiro e entregas. Desenvolvido em Java com Spring Boot e JavaFX.
O Sys-Água é uma solução de software robusta, desenvolvida como um projeto acadêmico para a disciplina de Projeto de Engenharia de Software I. O sistema foi projetado para otimizar e automatizar a gestão de distribuidoras de água mineral e outras bebidas, abrangendo desde o controle de estoque até a gestão financeira e de entregas.
A solução é composta por duas partes principais:
sysagua-api: Um backend RESTful, construído com Spring Boot, que centraliza toda a lógica de negócio, segurança e persistência de dados.sysagua-app: Um aplicativo desktop cliente, desenvolvido com JavaFX, que consome a API e oferece uma interface gráfica intuitiva para os funcionários da distribuidora.
O sistema oferece um conjunto completo de módulos para uma gestão integrada:
-
Autenticação e Segurança:
- Sistema de login com autenticação baseada em
JWT (JSON Web Tokens). - Controle de acesso por
níveis de permissão(cargos) para diferentes funcionalidades do sistema.
- Sistema de login com autenticação baseada em
-
Gestão de Cadastros:
- CRUD completo para
Clientes,Fornecedores,EntregadoreseUsuáriosdo sistema. - Cadastro detalhado de
Produtos, organizados porLinhaseCategorias.
- CRUD completo para
-
Controle de Estoque:
- Monitoramento em tempo real da quantidade de produtos.
- Registro de
comprasde fornecedores para entrada de novos itens. - Histórico detalhado de movimentações de estoque (entradas e saídas).
-
Vendas e Pedidos:
- Criação e gerenciamento de
pedidosde venda. - Controle de
status de entrega(Pendente, Em Rota, Entregue, Cancelado). - Associação de pedidos a clientes e entregadores.
- Criação e gerenciamento de
-
Módulo Financeiro:
- Gestão de
caixa (Cashier)com registro de aberturas e fechamentos. - Controle de
transaçõesfinanceiras, registrando todas as entradas e saídas.
- Gestão de
-
Dashboard e Métricas:
- Visualização de gráficos e dados consolidados para auxiliar na tomada de decisões.
-
Backend (
sysagua-api):- Java 21: Linguagem de programação principal.
- Spring Boot: Framework para criação da API RESTful.
- Spring Security: Para implementação da segurança e autenticação.
- JPA / Hibernate: Para persistência de dados e mapeamento objeto-relacional.
- PostgreSQL: Banco de dados relacional.
- Flyway: Ferramenta para versionamento e migração de banco de dados.
- Swagger (Springdoc): Para documentação interativa da API.
- Docker: Para containerização da aplicação.
-
Frontend (
sysagua-app):- Java 17: Linguagem de programação.
- JavaFX: Framework para construção da interface gráfica desktop.
- Maven: Ferramenta de gerenciamento de dependências e build.
- FontAwesomeFX: Para utilização de ícones vetoriais.
A maneira mais simples de rodar todo o ambiente (API, Banco de Dados e Aplicação Desktop) é utilizando o Docker.
-
Clone o repositório:
git clone [https://github.com/CristianoMends/sys-agua.git](https://github.com/CristianoMends/sys-agua.git) cd sys-agua -
Construa e suba os containers:
- Execute o comando abaixo na raiz do projeto. Ele irá baixar as imagens necessárias, construir a API, o app e iniciar todos os serviços.
docker-compose up --build
-
Acesse os serviços:
- API: Estará disponível em
http://localhost:8080. - Documentação Swagger: Acesse
http://localhost:8080/swagger-ui.htmlpara ver e testar todos os endpoints. - Aplicação Desktop: A interface gráfica do
sysagua-appserá iniciada automaticamente.
- API: Estará disponível em
Para parar todos os serviços, pressione Ctrl + C no terminal onde o docker-compose está rodando e depois execute:
docker-compose downEste projeto foi desenvolvido por:
| Cristiano | Rafael | Natan | Josias |
|---|---|---|---|
Projeto desenvolvido para fins acadêmicos.
💡 Dúvidas ou sugestões? Entre em contato com os colaboradores através do GitHub!
🚀 Contribua! Sinta-se à vontade para abrir issues e pull requests. 😃