Skip to content

CristianoMends/sys-agua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

810 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sys-Água - Sistema de Gestão para Distribuidoras

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.

Java Spring Boot JavaFX PostgreSQL Docker Swagger

🎯 Sobre o Projeto

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.

YouTube Video

A solução é composta por duas partes principais:

  1. 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.
  2. 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.

✨ Funcionalidades Principais

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.
  • Gestão de Cadastros:

    • CRUD completo para Clientes, Fornecedores, Entregadores e Usuários do sistema.
    • Cadastro detalhado de Produtos, organizados por Linhas e Categorias.
  • Controle de Estoque:

    • Monitoramento em tempo real da quantidade de produtos.
    • Registro de compras de 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 pedidos de venda.
    • Controle de status de entrega (Pendente, Em Rota, Entregue, Cancelado).
    • Associação de pedidos a clientes e entregadores.
  • Módulo Financeiro:

    • Gestão de caixa (Cashier) com registro de aberturas e fechamentos.
    • Controle de transações financeiras, registrando todas as entradas e saídas.
  • Dashboard e Métricas:

    • Visualização de gráficos e dados consolidados para auxiliar na tomada de decisões.

🚀 Tecnologias Utilizadas

  • 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.

⚙️ Como Executar o Projeto

A maneira mais simples de rodar todo o ambiente (API, Banco de Dados e Aplicação Desktop) é utilizando o Docker.

Pré-requisitos

Passos para Execução

  1. Clone o repositório:

    git clone [https://github.com/CristianoMends/sys-agua.git](https://github.com/CristianoMends/sys-agua.git)
    cd sys-agua
  2. 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
  3. Acesse os serviços:

    • API: Estará disponível em http://localhost:8080.
    • Documentação Swagger: Acesse http://localhost:8080/swagger-ui.html para ver e testar todos os endpoints.
    • Aplicação Desktop: A interface gráfica do sysagua-app será iniciada automaticamente.

Para parar todos os serviços, pressione Ctrl + C no terminal onde o docker-compose está rodando e depois execute:

docker-compose down

🤝 Colaboradores

Este projeto foi desenvolvido por:

Cristiano Rafael Natan Josias
Foto de perfil de Cristiano Mendes Foto de perfil de Rafael Foto de perfil de Natan Foto de perfil de Josias

📄 Licença

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. 😃

About

Um sistema desktop completo para gerenciar pedidos, controle de estoque e entregas de água, facilitando a organização do processo logístico e melhorando o atendimento ao cliente. as tecnologias envolvidas são Spring boot e JavaFx

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors