Skip to content

feat: mobile challenge implementation#6

Open
aloisiodev wants to merge 5 commits into
ByCodersTec:mainfrom
aloisiodev:feature/challenge_basics
Open

feat: mobile challenge implementation#6
aloisiodev wants to merge 5 commits into
ByCodersTec:mainfrom
aloisiodev:feature/challenge_basics

Conversation

@aloisiodev

Copy link
Copy Markdown

Descrição:

O que foi implementado

Implementação completa do desafio mobile da bycoders usando Swift/SwiftUI com arquitetura MVVM.

Funcionalidades

  • Autenticação com Firebase Auth (login e cadastro com e-mail e senha)
  • Tela Home com mapa e pin na localização atual do dispositivo
  • Persistência local do usuário e última posição via CoreData
  • Rastreamento de eventos com Firebase Analytics (login_success, map_rendered)
  • Rastreamento de erros com Firebase Crashlytics
  • Restauração automática de sessão na abertura do app

Arquitetura e decisões técnicas

A solução segue MVVM com separação clara entre Domain, Core, Features e DesignSystem.
Todos os serviços são abstraídos por protocolos (AuthServicing, AnalyticsServicing,
CrashlyticsServicing, LocalSessionRepositoring) para permitir injeção de dependência
e facilitar os testes.

A persistência local usa CoreData no lugar de WatermelonDB — decisão justificada no
README, já que WatermelonDB é voltado para React Native.

Testes

  • Testes unitários com Swift Testing cobrindo ViewModels, SessionStore, repositório e serviços
  • Testes de UI cobrindo fluxo de login, cadastro, home e estados de erro
  • Mocks por protocolo para todos os serviços externos (Firebase, CoreData)

Setup

Instruções detalhadas de configuração do ambiente no README.setia

screen_small.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant