{"id":27127203,"url":"https://github.com/dariomatias-dev/financial_management","last_synced_at":"2026-02-22T09:42:34.033Z","repository":{"id":281565662,"uuid":"910517613","full_name":"dariomatias-dev/financial_management","owner":"dariomatias-dev","description":"Gerenciamento Financeiro","archived":false,"fork":false,"pushed_at":"2025-03-11T18:13:49.000Z","size":17689,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T04:36:32.856Z","etag":null,"topics":["java","netbeans","swing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dariomatias-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-31T13:55:59.000Z","updated_at":"2025-03-11T18:13:52.000Z","dependencies_parsed_at":"2025-06-02T23:33:21.746Z","dependency_job_id":null,"html_url":"https://github.com/dariomatias-dev/financial_management","commit_stats":null,"previous_names":["dariomatias-dev/financial_management"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dariomatias-dev/financial_management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariomatias-dev%2Ffinancial_management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariomatias-dev%2Ffinancial_management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariomatias-dev%2Ffinancial_management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariomatias-dev%2Ffinancial_management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dariomatias-dev","download_url":"https://codeload.github.com/dariomatias-dev/financial_management/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariomatias-dev%2Ffinancial_management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29708363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T05:59:28.568Z","status":"ssl_error","status_checked_at":"2026-02-22T05:58:46.208Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","netbeans","swing"],"created_at":"2025-04-07T16:54:42.010Z","updated_at":"2026-02-22T09:42:34.007Z","avatar_url":"https://github.com/dariomatias-dev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aplicativo de Gerenciamento Financeiro Pessoal\n\n## Descrição\n\nUm aplicativo de gerenciamento financeiro pessoal desenvolvido em Java, utilizando a biblioteca Swing para a interface gráfica e a IDE NetBeans. O objetivo é fornecer uma ferramenta simples e intuitiva para o controle de receitas e despesas.\n\n## Funcionalidades\n\n*   **Receitas:** Permite registrar fontes de renda.\n*   **Despesas:** Possibilita o registro de despesas.\n*   **Visão Financeira:** Exibe as receitas e despesas organizadas por períodos, para facilitar o acompanhamento financeiro.\n*   **Orçamentos:** Auxilia no planejamento de gastos, permitindo a criação e o monitoramento de orçamentos para diferentes áreas ou projetos.\n\n## Tecnologias Utilizadas\n\n* [Java](https://www.java.com/pt-BR/): Linguagem da aplicação\n* Swing: Interface gráfica\n* [NetBeans](https://netbeans.apache.org/front/main/index.html): IDE de desenvolvimento\n\n## Estrutura\n\nO projeto utiliza o padrão MVC para estruturação das pastas e arquivos, organizados da seguinte forma:\n\n```\nfinancial_management/               # Nome do projeto\n├── .idea/                          # Arquivos de configuração\n├── lib/                            # Bibliotecas\n├── screenshots/                    # Screenshots da aplicação\n├── src/                            # Código-fonte\n│ └── main/java/org/cafe/           # Pacote base do código-fonte\n│    ├── core/                      # Arquivos de configuração\n│    │ └── formatters/              # Funções de formatação de dados\n│    ├── database/                  # Camada de acesso ao banco de dados\n│    │ └── controllers/             # Controladores das entidades do banco de dados\n│    ├── models/                    # Classes de modelo que representam as entidades\n│    ├── utils/                     # Funções utilitárias\n│    ├── views/                     # Componentes da interface gráfica (GUI)\n│    │ └── components/              # Componentes da tela\n│    └── Main.java                  # Ponto de entrada do sistema\n├── resources/                      # Recursos estáticos\n│   └── images/                     # Imagens\n├── test/                           # Pasta de testes\n├── .gitignore                      # Informa ao git quais pastas e arquivos ignorar\n├── README.md                       # Documentação\n├── database.sqlite                 # Banco de dados local (SQLite)\n├── nbactions.xml                   # Arquivo de configuração do NetBeans\n└── pom.xml                         # Arquivo de configuração do Maven\n```\n\n## Arquitetura\n\nO projeto adota o padrão arquitetural **MVC (Model-View-Controller)**, que promove a separação de responsabilidades, facilitando a manutenção e testabilidade do código, ficando da seguinte maneira:\n\n- **Model**: Responsável pela representação dos dados. Localizadas no diretório `models`, e com prefixo `Model`.\n- **View**: Responsável pela apresentação dos dados ao usuário e interação com o sistema através de componentes gráficos (ex: janelas, botões, campos de texto).  As telas da aplicação são construídas utilizando a biblioteca Swing e estão localizadas no diretório `views`, com prefixo `View`.\n- **Controller**: Atua como intermediário entre a View e o Model. Recebe as ações que devem ser executadas, como criação, atualização, remoção, acessar tela e dentre outras. Estão presentes nas classes `*Controller` dentro dos pacotes de visualização (e.g. `views/budgets`, `views/expenses`, `views/revenues`), recebendo o prefixo `Controller`.\n\n## Execução\n\n1. Clone o repositório do projeto:\n```bash\ngit clone https://github.com/dariomatias-dev/financial_management.git\n```\n\n2 - Compile para um arquivo `jar`:\n```bash\nmvn clean package\n```\n\n3 - Por fim, execute a aplicação:\n```bash\njava -jar target/financial_management-1.0-SNAPSHOT-jar-with-dependencies.jar\n```\n\nOu se preferir, baixe o arquivo dentro da pasta `release` e execute:\n\n```bash\njava -jar release/financial_management.jar\n```\n\n## Interface Gráfica\n\nA interface gráfica da aplicação foi desenvolvida utilizando Java Swing, uma biblioteca para criação de interfaces de usuário. O Swing permite a construção de componentes gráficos como botões, campos de texto, tabelas e menus, proporcionando uma experiência fluida e intuitiva para o usuário. Para facilitar o desenvolvimento, a IDE NetBeans foi utilizada, oferecendo ferramentas visuais e suporte a recursos como arrastar e soltar, o que acelera o processo de criação e organização da interface. Com isso, a aplicação garante uma interação eficiente e agradável para o usuário final, com componentes altamente configuráveis e flexíveis.\n\n### Telas\n\n- **Tela Principal:**\n\n![Main View](screenshots/main_view_screenshot.png)\n\n- **Tela de Receitas:**\n\n    Filtros: Texto, valor mínimo e máximo, e período.\n\n![Revenues View](screenshots/revenues_view_screenshot.png)\n\nCriar Receita:\n\n![Manager Revenue View](screenshots/manager_revenue_view_screenshot.png)\n\n- **Tela de Despesas:**\n\n    Filtros: Texto, valor mínimo e máximo, e período.\n\n![Expenses](screenshots/expenses_view_screenshot.png)\n\nCriar Despesa:\n\n![Manager Expense View](screenshots/manager_expense_view_screenshot.png)\n\n- **Tela de Visão Financeira:**\n\n![Financial Overview View](screenshots/financial_overview_view_screenshot.png)\n\n- **Tela de Orçamentos:**\n\n    Filtros: Texto, status, valor mínimo e máximo, e data inicial e final.\n\n![Budgets View](screenshots/budgets_view_screenshot.png)\n\nCriar Orçamento:\n\n![Manager Budget View](screenshots/manager_budget_view_screenshot.png)\n\n- **Tela de Orçamento:**\n\n![Budget View](screenshots/budget_view_1_screenshot.png)\n\n![Budget View](screenshots/budget_view_2_screenshot.png)\n\nCriar Item de Orçamento:\n\n![Manager Budget Item View](screenshots/manager_budget_item_view_screenshot.png)\n\n\u003cbr/\u003e\n\n### Diálogos\n\n- **Tabela está vazia (mesmo aviso para remoção):**\n\n![Empty Expenses View](screenshots/empty_revenues_view_screenshot.png)\n\n![No Records Alert Dialog](screenshots/no_records_alert_dialog_screenshot.png)\n\n- **Confirmar remoção de registro:**\n\n![Removal Confirmation Alert Dialog](screenshots/removal_confirmation_alert_dialog_screenshot.png)\n\n- **Nenhum registro foi selecionado (mesmo aviso para remoção):**\n\n![No Record Selected Revenues View](screenshots/revenues_view_screenshot.png)\n\n![No Records Alert Dialog](screenshots/no_records_alert_dialog_screenshot.png)\n\n- **Algum ou todos os campos não foram preenchidos:**\n\n![Empty Manager Revenue View](screenshots/empty_manager_revenue_view_screenshot.png)\n\n![Fill All Fields Error Dialog](screenshots/fill_all_fields_error_dialog_screenshot.png)\n\n- **Inserido um valor númerico inválido, como caracteres não númericos:**\n\n![Invalid Value Manager Revenue View](screenshots/invalid_value_manager_revenue_view_screenshot.png)\n\n![Value Number Valid Error Dialog](screenshots/value_number_valid_error_dialog_screenshot.png)\n\n- **Data inicial posterior a data final:**\n\n![Initial Date After The Final Manager Budget View](screenshots/initial_date_after_the_final_manager_budget_view_screenshot.png)\n\n![Initial Date After The Final Error Dialog](screenshots/initial_date_after_the_final_error_dialog_screenshot.png)\n\n## Autores\n\nProjeto desenvolvido por [Dário Matias Sales](https://github.com/dariomatias-dev), [Dario Arthur Moura Ramos](https://github.com/Dario-Arthur) e [Arthur dos Santos Lima](https://github.com/Fastusx).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdariomatias-dev%2Ffinancial_management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdariomatias-dev%2Ffinancial_management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdariomatias-dev%2Ffinancial_management/lists"}