Mobile - Estado Atual (2026-03-09)¶
Este documento consolida o estado real do app mobile em billings-ease-mobile na data 2026-03-09.
Atualização incremental (2026-03-09)¶
- não foram detectadas mudanças de código no repositório
billings-ease-mobileneste ciclo; - portanto, navegação, serviços, autenticação e lacunas arquiteturais documentadas continuam vigentes.
Fonte de verdade¶
- Navegação:
src/navigation/AppNavigator.tsxesrc/navigation/MainTabs.tsx - Autenticação:
src/contexts/AuthContext.tsx - Camada de API:
src/services/api.ts+src/services/** - Telas:
src/screens/**
Stack em operação¶
- Expo
~54.0.25 - React Native
0.81.5 - React
19.1.0 - React Navigation
6.x - TanStack Query
5.x - Axios
- Expo Secure Store
- Google Sign-In (
@react-native-google-signin/google-signin)
Navegação atual¶
Stack não autenticado¶
LoginRegisterForgotPasswordResetPassword
Stack autenticado¶
MainTabsOnboarding
Cliente:
Courses,CourseDetailCycleDetails,CycleChart,CycleAnalysisDailyRegister,HealthInfoPayment,PaymentConfirmationSelectProfessional,ProfessionalDetails
Profissional:
ManageAppointmentsPatientCycles,PatientCycleDetailsPaymentInfoInbox
Admin:
UsersPlansPromotions
Comuns:
ChatDetailAppointmentsNotificationsAccountsSubscriptions
Tabs¶
Dashboard(todos)Cycles(client)Patients(professional)Chat(todos)Profile(client usaClientProfile, demais usamProfile)
Serviços e integração backend¶
- cliente HTTP central em
src/services/api.ts - interceptor injeta JWT de
expo-secure-store - reset de token ao receber
401 - serviços organizados por domínio em
src/services/{auth,client,professional,...}
Autenticação¶
- login por email/senha (
POST /auth/login) - login Google mobile (
POST /auth/oauth/mobile/google) - recuperação de sessão via
GET /users/me
Lacunas de arquitetura frente ao web¶
- Mobile ainda não adota arquitetura
modules/submodulesequivalente ao web. - Não há gate de dependência por camada como no web (
check:deps:modules:strict). - Controle de módulos efetivos (
/users/me/modules) ainda não é eixo principal de navegação no app.
Direção recomendada¶
- Introduzir guardas de módulo no mobile alinhados ao backend.
- Evoluir organização para fronteiras de domínio mais explícitas.
- Formalizar testes e gates arquiteturais no pipeline do app.