{"id":28056461,"url":"https://github.com/fioshi/java-spring-smartcash","last_synced_at":"2026-05-04T20:35:33.181Z","repository":{"id":290769903,"uuid":"975484632","full_name":"Fioshi/java-spring-smartCash","owner":"Fioshi","description":"API em spring boot para controle financeiro","archived":false,"fork":false,"pushed_at":"2025-05-08T12:39:19.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-12T07:00:06.642Z","etag":null,"topics":["api-rest","mysql","spring-boot"],"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/Fioshi.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":"2025-04-30T11:46:19.000Z","updated_at":"2025-05-08T12:39:23.000Z","dependencies_parsed_at":"2025-04-30T13:56:14.241Z","dependency_job_id":"3b46ba47-1793-4e2d-956d-e0608f425dc2","html_url":"https://github.com/Fioshi/java-spring-smartCash","commit_stats":null,"previous_names":["fioshi/java-spring-smartcash"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fioshi%2Fjava-spring-smartCash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fioshi%2Fjava-spring-smartCash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fioshi%2Fjava-spring-smartCash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fioshi%2Fjava-spring-smartCash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fioshi","download_url":"https://codeload.github.com/Fioshi/java-spring-smartCash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253692388,"owners_count":21948316,"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","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":["api-rest","mysql","spring-boot"],"created_at":"2025-05-12T07:00:09.216Z","updated_at":"2026-05-04T20:35:33.128Z","avatar_url":"https://github.com/Fioshi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚧 SmartCash - API em Desenvolvimento 🚧\n\nEste repositório contém a API do **SmartCash**, um sistema de controle financeiro pessoal. A aplicação ainda está em fase de desenvolvimento ativo, e mudanças podem ocorrer com frequência.\n\n---\n\n## 🧰 Tecnologias Principais\n\n- **Spring Boot 3.4.4** - Framework principal para construção da API.\n- **Spring Data JPA** - Abstração poderosa para persistência com banco de dados.\n- **MySQL** - Banco de dados relacional utilizado no ambiente local.\n- **Flyway** - Controle de versionamento de migrações no banco de dados.\n- **Spring Security** (em desenvolvimento) - Para futura implementação de autenticação/autorizacão segura.\n- **Swagger/OpenAPI 3** - Documentação interativa da API, acessível via navegador.\n\n---\n\n## 🗄️ Migrations com Flyway\n\nAs migrações SQL são aplicadas automaticamente ao subir a aplicação. As versões estão localizadas em:  \n`src/main/resources/db/migration`\n\n## 📁 Documentação da API (Swagger)\n\nApós rodar a aplicação, acesse a URL:\n\n```bash\nhttp://localhost:8080/swagger-ui/index.html\n```\n\n---\n\n## 🚀 Como executar localmente\n\n```bash\n# Clonar o repositório\ngit clone https://github.com/Fioshi/java-spring-smartCash.git\ncd SmartCash\n\n# Build do projeto\n./mvnw clean install\n\n# Rodar a aplicação\n./mvnw spring-boot:run\n```\n\nCertifique-se de que o MySQL está rodando e o banco está configurado corretamente no `application.properties`.\n\n---\n\n## Diagrama do Banco de Dados\n\n```mermaid\nerDiagram\n    tb_user ||--o{ tb_spent : \"possui\"\n    tb_user ||--o{ tb_monthly_expense : \"relacionado\"\n    tb_monthly_expense ||--o{ tb_monthly_expense_spents : \"associa\"\n    tb_spent ||--o{ tb_monthly_expense_spents : \"associa\"\n\n    tb_user {\n        BIGINT id PK\n        VARCHAR nome\n        VARCHAR surname\n        VARCHAR cpf \"UNIQUE\"\n        VARCHAR email \"UNIQUE\"\n        VARCHAR password\n    }\n\n    tb_spent {\n        BIGINT id PK\n        ENUM type\n        INT installments\n        DOUBLE value\n        VARCHAR place\n        BIGINT user_id FK\n    }\n\n    tb_monthly_expense {\n        BIGINT id PK\n        INT year\n        VARCHAR month\n        BIGINT user_id FK\n    }\n\n    tb_monthly_expense_spents {\n        BIGINT monthly_expense_id PK, FK\n        BIGINT spent_id PK, FK\n    }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffioshi%2Fjava-spring-smartcash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffioshi%2Fjava-spring-smartcash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffioshi%2Fjava-spring-smartcash/lists"}