arch-atlas

Screens

UI · user-facing flows

presentation

Overview

Product surface documented from the app: every screen, the user flows that link them, and the API calls each screen fires — hover a screen card in any flow to see the request headers + body. Domain / data / DI nodes are pending the architecture-extraction pass.

Screens

First launch — choose languagewireframe
default

Shown once on first launch (FirstLaunchService.getInitialRoute → languageSelection).

Onboarding carouselwireframe
default

3-page swipeable intro with skip + dot navigation.

Loginwireframe
default

Email/password + Google. Link to register and forgot-password.

Login — submittingwireframe
loading

Button shows spinner while /sign-in/email resolves.

Login — invalid credentialswireframe
error

401 from /sign-in/email surfaces an error toast + red fields.

Register — choose rolewireframe
default

Two tappable cards: Client → 7-step questionnaire, Coach → 12-step questionnaire (register_body.dart).

Client onboarding — goal (step 1/7)wireframe
default

Questionnaire collects goal, body info, activity, training, nutrition prefs before the account step.

Client onboarding — create account (step 7/7)wireframe
default

Final step: creates the better-auth account and persists onboarding answers to Medusa.

Coach onboarding — coach info (step 8/12)wireframe
default

Coach path adds coach info, modality/pricing, availability, certificates on top of the client steps.

Coach — pending verificationwireframe
success

Terminal coach screen: account created, awaiting manual coach approval (coach_pending_verification_view.dart). Static — no API.

Verify email — OTPwireframe
default

6-digit code entry with resend. Fired after signup/unverified login.

Verify email — wrong codewireframe
error

INVALID_OTP → error toast + filled/red OTP boxes.

Reset password — enter emailwireframe
default

Sends a forget-password OTP to the entered email.

Reset password — verify OTPwireframe
default

Validates the reset OTP before allowing a new password.

Reset password — new passwordwireframe
default

Submits OTP + new password; success routes back to login.

User Flow

Empty — fill this in later. Open the manifest and add content here.

Cases & Edge Cases

Empty — fill this in later. Open the manifest and add content here.

Code References

Empty — fill this in later. Open the manifest and add content here.

API Calls

Empty — fill this in later. Open the manifest and add content here.

Notes

Empty — fill this in later. Open the manifest and add content here.