{"id":50486687,"url":"https://github.com/guilherme006/financeapp","last_synced_at":"2026-06-01T23:01:46.218Z","repository":{"id":356864118,"uuid":"1234367777","full_name":"Guilherme006/FinanceApp","owner":"Guilherme006","description":"Aplicativo iOS de finanças pessoais feito em UIKit, com autenticação via Firebase, cadastro de orçamentos mensais e lançamentos de receitas/despesas.","archived":false,"fork":false,"pushed_at":"2026-05-10T05:38:00.000Z","size":1066,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-10T07:23:58.022Z","etag":null,"topics":["cloud-firestore","cocoapods","firebase","ios","swift","uikit","xcode"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/Guilherme006.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-10T04:59:36.000Z","updated_at":"2026-05-10T05:43:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Guilherme006/FinanceApp","commit_stats":null,"previous_names":["guilherme006/financeapp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Guilherme006/FinanceApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guilherme006%2FFinanceApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guilherme006%2FFinanceApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guilherme006%2FFinanceApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guilherme006%2FFinanceApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Guilherme006","download_url":"https://codeload.github.com/Guilherme006/FinanceApp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guilherme006%2FFinanceApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33797128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"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":["cloud-firestore","cocoapods","firebase","ios","swift","uikit","xcode"],"created_at":"2026-06-01T23:01:44.824Z","updated_at":"2026-06-01T23:01:46.212Z","avatar_url":"https://github.com/Guilherme006.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FinanceApp\n\nAplicativo iOS de finanças pessoais feito em UIKit, com autenticação via Firebase, cadastro de orçamentos mensais e lançamentos de receitas/despesas.\n\n![Preview do FinanceApp](docs/screenshots/project-overview.png)\n\n## Sumário\n\n- [Sobre o projeto](#sobre-o-projeto)\n- [Funcionalidades](#funcionalidades)\n- [Tecnologias](#tecnologias)\n- [Arquitetura](#arquitetura)\n- [Estrutura de pastas](#estrutura-de-pastas)\n- [Pré-requisitos](#pré-requisitos)\n- [Configuração do Firebase](#configuração-do-firebase)\n- [Como rodar](#como-rodar)\n- [Solução de problemas](#solução-de-problemas)\n\n## Sobre o projeto\n\nO FinanceApp permite que uma pessoa organize suas finanças mensais criando conta, entrando com e-mail e senha, definindo orçamento por mês e registrando lançamentos financeiros.\n\nO app usa Firebase para autenticação e persistência dos dados. A interface foi construída programaticamente em UIKit, seguindo o design fornecido no Figma do projeto.\n\n## Funcionalidades\n\n- Splash screen.\n- Login com e-mail e senha.\n- Criação de conta com nome, e-mail e senha.\n- Login biométrico local quando disponível.\n- Dashboard mensal com seletor de meses.\n- Card de orçamento disponível, usado e limite.\n- Cadastro de orçamento mensal.\n- Listagem de orçamentos cadastrados.\n- Exclusão de orçamento.\n- Cadastro de lançamentos financeiros.\n- Listagem de lançamentos por mês.\n- Exclusão de lançamentos.\n- Perfil do usuário.\n- Alteração de foto de perfil.\n- Logout.\n- Notificação local diária sobre lançamentos do dia.\n\n## Tecnologias\n\n- Swift\n- UIKit\n- Auto Layout programático\n- CocoaPods\n- Firebase Auth\n- Cloud Firestore\n- Firebase Storage\n- FirebaseFirestoreSwift\n- LocalAuthentication\n- UserNotifications\n\n## Arquitetura\n\nO projeto está organizado em camadas simples:\n\n- `Scenes`: telas e seus ViewModels.\n- `Services`: integração com Firebase, biometria, armazenamento e notificações.\n- `Models`: entidades principais do domínio.\n- `Components`: componentes visuais reutilizáveis.\n- `Coordinators`: fluxo de navegação do app.\n- `Extensions`: extensões utilitárias de UIKit e formatação visual.\n\n## Estrutura de pastas\n\n```text\nFinanceApp/\n├── FinanceApp.xcodeproj\n├── FinanceApp.xcworkspace\n├── Podfile\n├── Podfile.lock\n├── README.md\n├── docs/\n│   └── screenshots/\n│       └── project-overview.png\n└── FinanceApp/\n    ├── Assets.xcassets/\n    ├── Components/\n    ├── Coordinators/\n    ├── Extensions/\n    ├── Models/\n    ├── Scenes/\n    ├── Services/\n    ├── AppDelegate.swift\n    ├── SceneDelegate.swift\n    └── Info.plist\n```\n\n## Pré-requisitos\n\n- macOS com Xcode instalado.\n- iOS Simulator instalado pelo Xcode.\n- CocoaPods instalado.\n- Conta e projeto no Firebase.\n\nPara verificar o CocoaPods:\n\n```bash\npod --version\n```\n\nCaso precise instalar:\n\n```bash\nsudo gem install cocoapods\n```\n\n## Configuração do Firebase\n\nEste repositório não inclui o arquivo `GoogleService-Info.plist`, porque ele contém dados específicos do projeto Firebase.\n\nNo Firebase Console:\n\n1. Crie ou abra um projeto Firebase.\n2. Adicione um app iOS.\n3. Use o Bundle Identifier:\n\n```text\nguilherme.FinanceApp\n```\n\n4. Baixe o arquivo `GoogleService-Info.plist`.\n5. Coloque o arquivo em:\n\n```text\nFinanceApp/GoogleService-Info.plist\n```\n\n6. No Firebase Authentication, ative o provedor `E-mail/senha`.\n7. No Cloud Firestore, crie o banco em modo de produção.\n8. No Firebase Storage, ative somente se quiser usar upload de foto de perfil. Sem Storage, o restante do app continua funcionando.\n\n## Como rodar\n\nClone o repositório:\n\n```bash\ngit clone https://github.com/Guilherme006/FinanceApp.git\ncd FinanceApp\n```\n\nInstale as dependências:\n\n```bash\npod install\n```\n\nAbra sempre o workspace:\n\n```bash\nopen FinanceApp.xcworkspace\n```\n\nNo Xcode:\n\n1. Selecione o scheme `FinanceApp`.\n2. Selecione um simulador de iPhone.\n3. Pressione `Cmd + R`.\n\nTambém é possível compilar pelo terminal:\n\n```bash\nxcodebuild \\\n  -workspace FinanceApp.xcworkspace \\\n  -scheme FinanceApp \\\n  -sdk iphonesimulator \\\n  -configuration Debug \\\n  build\n```\n\n## Solução de problemas\n\n### O app não compila depois do clone\n\nConfira se você rodou:\n\n```bash\npod install\n```\n\nE se abriu:\n\n```bash\nFinanceApp.xcworkspace\n```\n\nNão abra apenas o `.xcodeproj` quando usar CocoaPods.\n\n### Erro informando que falta `GoogleService-Info.plist`\n\nBaixe o arquivo no Firebase Console e coloque em:\n\n```text\nFinanceApp/GoogleService-Info.plist\n```\n\n### Login não funciona\n\nVerifique no Firebase Console se o provedor `E-mail/senha` está ativado em:\n\n```text\nAuthentication \u003e Método de login\n```\n\n### Dados não aparecem no dashboard\n\nConfira se o Cloud Firestore foi criado e se as regras permitem acesso para usuários autenticados.\n\n### Upload de foto de perfil não funciona\n\nEsse recurso depende do Firebase Storage. Se o Storage não estiver ativado no projeto Firebase, o app ainda funciona, mas a alteração de foto pode falhar.\n\n## Status\n\nProjeto em desenvolvimento, com fluxo principal de autenticação, orçamento mensal e lançamentos implementado.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilherme006%2Ffinanceapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguilherme006%2Ffinanceapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilherme006%2Ffinanceapp/lists"}