Skip to content

Sistema desktop desenvolvido em Java com Swing para controle de investimentos em ações e FIIs, com persistência em banco de dados MySQL. Este projeto foi realizado como trabalho acadêmico para a disciplina de POO.

Notifications You must be signed in to change notification settings

mathewsph2/SIBOV-Java_Swing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

💹 SIBOV – Sistema de Bolsa de Valores

Sistema desktop desenvolvido em Java com Swing para controle de investimentos em ações e FIIs, com persistência em banco de dados MySQL. Este projeto foi realizado como trabalho acadêmico para a disciplina de FPOO (Fundamentos de Programação Orientada a Objetos) no curso de Análise e Desenvolvimento de Sistemas – Faculdades Integradas Vianna Júnior.

🛠️ Tecnologias Utilizadas

  • Java Desktop (Swing)
  • MySQL
  • POO (Herança, Encapsulamento, Composição, Pacotes)
  • Tratamento de Exceções e Validações
  • Git e GitLab para versionamento

👥 Perfis de Usuário

  • Investidor: realiza operações, registra proventos, consulta histórico e posição.
  • Administrador: gerencia ativos, corrige lançamentos via estorno, gera relatórios consolidados.

Tela de Login

📋 Funcionalidades

1. Cadastro de Ativos

  • Ticker, tipo (Ação/FII), setor, observações.
  • Herança: AtivoAcao, FII.

2. Carteira e Saldo

  • Saldo inicial, aportes e retiradas.
  • Bloqueio de compra sem saldo.
  • Venda credita automaticamente.

3. Operações

  • Compra/Venda com data, quantidade, preço, taxa.
  • Validações: sem venda descoberta, valores positivos.
  • Histórico imutável com estorno para correções.

4. Preço Médio

  • Atualização por média ponderada.
  • Venda não altera PM, apenas reduz quantidade.

5. Dividendos/Proventos

  • Registro por ativo: tipo, valor por cota, data.
  • Crédito automático no caixa.
  • Histórico de proventos e extrato.

6. Relatórios

  • Posição atual da carteira.
  • Extrato do caixa.
  • Histórico de operações.
  • Proventos recebidos e DY sobre PM.

Extrato do Usuário

7. Autenticação

  • Tela de login com perfis distintos.

8. Funcionalidade Extra

  • Simulação de taxa de corretagem com diversas corretoras.

📁 Estrutura de diretórios

O projeto SIBOV está organizado de forma modular, seguindo boas práticas de separação de responsabilidades e arquitetura em camadas. Abaixo está a descrição dos principais pacotes:

  • org.matheus.sibov.config
    Armazena a classe de conexão com banco de dados.

  • org.matheus.sibov.dao
    Implementa o padrão DAO (Data Access Object), contendo classes que fazem a persistência e recuperação de dados no banco.

  • org.matheus.sibov.model
    Define os modelos de dados (entidades) utilizados na aplicação.

  • org.matheus.sibov.model.perfis
    Subpacote especializado para representar perfis de usuários ou tipos de acesso.

  • org.matheus.sibov.service
    Contém a lógica de serviço, intermediando entre os DAOs e as interfaces gráficas.

  • org.matheus.sibov.view
    Responsável pela interface gráfica principal. Inclui a classe TelaDeLogin.java, que provavelmente gerencia a tela de autenticação do sistema.

  • org.matheus.sibov.view.admin
    Interface gráfica voltada para usuários com perfil administrativo.

  • org.matheus.sibov.view.investidor
    Interface gráfica voltada para usuários com perfil de investidor.

📁 Other Sources

Contém recursos adicionais que não fazem parte diretamente do código-fonte Java.

  • src/main/resources
    Diretório padrão para arquivos de configuração, propriedades, e outros recursos utilizados pela aplicação.

  • images
    Pasta dedicada ao armazenamento de imagens utilizadas na interface gráfica, como ícones, logotipos ou fundos.

Essa estrutura favorece a organização, reutilização de código e facilita a manutenção do projeto. Cada pacote tem uma responsabilidade clara, o que contribui para a escalabilidade e legibilidade do sistema.


🚀 Como Executar

Para executar o sistema SIBOV localmente, siga os passos abaixo:

Clonar o repositório

git clone https://github.com/mathewsph2/SIBOV-Java_Swing

Configurar o banco de dados

  • Executar o scritp SQL_Sibov.sql no seu SGBD

  • Edite o arquivo de configuração em org.matheus.sibov.config com os dados de acesso ao banco

  • Certifique-se de que o banco está ativo e acessível

Executar a aplicação

  • Localize a classe principal TelaDeLogin.java

  • Execute como aplicação Java

  • A interface de login será exibida

Acessar o sistema

  • Use credenciais válidas para acessar como administrador ou investidor

  • Navegue pelas funcionalidades conforme seu perfil


🌱 Ideias de Melhorias e Implementações Futuras

Este projeto está em constante evolução. Abaixo estão algumas sugestões de melhorias e funcionalidades que podem ser implementadas nas próximas versões:

🔧 Funcionalidades

  • Criação de testes automatizados

  • Suporte a criptomoedas

  • Migrações de banco de dados

  • Sistema de segurança mais robusto


🤝 Como contribuir

  • Abra uma issue para sugerir melhorias ou reportar erros.

  • Faça um fork e envie um Pull Request para contribuições de conteúdo.

  • Use padrões de commit claros e descreva a motivação da mudança no PR.

📬 Contato

  • Coordenador / Maintainer: @mathewsph2 (GitHub)

  • Para dúvidas e sugestões: abra uma issue no repositório

📚 Licença

Este projeto é acadêmico e não possui licença comercial.

About

Sistema desktop desenvolvido em Java com Swing para controle de investimentos em ações e FIIs, com persistência em banco de dados MySQL. Este projeto foi realizado como trabalho acadêmico para a disciplina de POO.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages