{"id":31061902,"url":"https://github.com/pymarcus/seujose_finance","last_synced_at":"2025-09-15T11:42:10.874Z","repository":{"id":190836770,"uuid":"680855773","full_name":"PyMarcus/SeuJose_finance","owner":"PyMarcus","description":"Trabalho de diagnostico para disciplina de mobile - 2023","archived":false,"fork":false,"pushed_at":"2023-08-26T15:55:01.000Z","size":479,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-08-26T16:57:04.762Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/PyMarcus.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}},"created_at":"2023-08-20T16:18:58.000Z","updated_at":"2023-08-26T16:57:22.464Z","dependencies_parsed_at":"2023-08-26T17:07:49.977Z","dependency_job_id":null,"html_url":"https://github.com/PyMarcus/SeuJose_finance","commit_stats":null,"previous_names":["pymarcus/seujose_finance"],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/PyMarcus/SeuJose_finance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyMarcus%2FSeuJose_finance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyMarcus%2FSeuJose_finance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyMarcus%2FSeuJose_finance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyMarcus%2FSeuJose_finance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyMarcus","download_url":"https://codeload.github.com/PyMarcus/SeuJose_finance/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyMarcus%2FSeuJose_finance/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275252960,"owners_count":25432098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-09-15T11:42:05.909Z","updated_at":"2025-09-15T11:42:10.856Z","avatar_url":"https://github.com/PyMarcus.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"A nível de estrutura, foi utilizado a arquitetura MVC, desse modo, no que tange às views, como já predefinido pelo professor, está a interface com a qual o usuário irá interagir. Contudo, foi necessário acrescentar algumas funções para tratar os eventos do usuário, durante a interação deste com o sistema. \n\nEm vista disso, todas as funções da view enviam mensagens para o controller para buscar dados, inserir dados e, por demais, até remover dados do banco de dados do sistema. \n\nAgora, consoante ao controller, este é responsavel por emitir mensagens para o model, que, por sua vez, está dividido seguindo o padrão de projeto DAO, que conta com interfaces para cada tabela estipulada, a fim de criar um contrato de implementações. \n\nEssas implementações, de fato, são responsáveis por fazer as interações com o banco de dados. Para fins de facilidades individuais, foi utilizado o banco de dados Postgres e o diagrama que representa as tabelas é exibido abaixo: \n\n \n\nCom base no supracitado, as tabelas foram definidas para terem como identificadores de cada registro, um dado do tipo UUID, pois, normalmente, é mais seguro e permite maiores possibilidades de combinações.  \n\nAlém disso, as tabelas de ganhos e gastos foram divididas para facilitar os cálculos posteriormente. Desse modo, ha modelos para cada tabela e todos eles recebem a respectiva referência da tabela de finanças. \n\nPor fim, foram criadas algumas classes para facilitar operações no projeto, como, por exemplo, uma classe geradora de log (com rotatividade por dia para otimizar a escrita em ), seguindo o padrão Singleton, uma classe para trabalho com datas e outra para recuperar as credenciais de conexão com o banco, oriundas de um arquivo de extensão .ini \n\n\n \n\n\n\n ![Screenshot from 2023-08-26 12-42-35](https://github.com/PyMarcus/SeuJose_finance/assets/88283829/b9223f09-46c6-471a-a07a-846965f6d4e4)\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpymarcus%2Fseujose_finance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpymarcus%2Fseujose_finance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpymarcus%2Fseujose_finance/lists"}