Pages and Authentication Flow
Overview
This document explains the current page structure and authentication-related navigation in the Dorm Chores Scheduler app.
The project uses Expo Router, which provides file-based routing. Pages are organised inside the app/ folder.
Current Confirmed Pages in This Project Copy
Based on the current project structure, the confirmed pages include:
app/index.tsxapp/auth/signin.tsxapp/ui-tests/index.tsxapp/ui-tests/button-test.tsxapp/ui-tests/input-test.tsxapp/ui-tests/list-item-test.tsxapp/ui-tests/selector-test.tsxapp/ui-tests/curved-banner-test.tsxapp/ui-tests/inline-notification-test.tsx
Root Layout
File: app/_layout.tsx
Purpose
Defines the root navigation layout for the application.
Behaviour
- Loads Inter font families using
@expo-google-fonts/inter - Prevents the splash screen from hiding until fonts finish loading
- Returns the root
Stackfor navigation
Importance
This file is the entry point for shared layout behaviour across all routes.
Landing Page
File: app/index.tsx
Purpose
Provides the initial landing page for the project.
Behaviour
- Displays the app title
- Includes a link to the sign-in page
- Includes a link to the UI test page
Navigation
From this page, users can move to:
/auth/signin/ui-tests
Sign-In Page
File: app/auth/signin.tsx
Purpose
Provides the current authentication screen for users to sign in.
Components Used
CurvedBannerSpacerInputInlineButtonButton
Behaviour
- Stores
emailandpasswordin local state - Hides the default stack header
- Dismisses the keyboard when the user taps outside input fields
- Displays inline actions for:
- reset password
- sign up
- Currently logs actions using
handleAction
Authentication Flow
This is the main implemented authentication page in the current codebase.
UI Test Pages
Folder: app/ui-tests/
Purpose
These pages appear to exist for visual or manual component testing.
Confirmed test pages
index.tsxbutton-test.tsxinput-test.tsxlist-item-test.tsxselector-test.tsxcurved-banner-test.tsxinline-notification-test.tsx
Importance
These pages help contributors check how shared components behave in isolation.
Expected Authentication Flow from Task Description
The project task states that authentication documentation should include:
- sign-in
- sign-up
- reset password
Current implementation note
In the current project copy inspected for documentation, the fully confirmed authentication page is:
sign-in
The sign-in page includes inline actions for:
- reset password
- sign up
If separate sign-up and reset password files exist in the GitHub branch being documented, they should also be described here using the same structure.
Expected Main App Pages from Task Description
The task description also mentions these main pages:
- Home
- Chores
- Repairs
- Dorms
- Profile / Settings
Current implementation note
These page names are part of the project documentation scope, but they were not all confirmed in the current local project copy that was inspected.
If those pages exist in the GitHub branch you are documenting, add a short section for each page including:
- page purpose
- key components used
- user actions supported
- related navigation links
Navigation Relationships
Confirmed current navigation
app/index.tsxlinks to/auth/signinapp/index.tsxlinks to/ui-tests
Root navigation
All routes are wrapped by the root stack defined in app/_layout.tsx.
Suggested Page Documentation Structure for Future Pages
When documenting additional pages, use this format:
Page Name
File: app/example.tsx
Purpose
Explain what the page is for.
Components Used
List the main shared components used on the page.
Behaviour
Explain what the user can do on the page.
Navigation
Explain where the page links to and how users reach it.
Summary
The current page structure shows that the app already has:
- a shared root layout
- a landing page
- a sign-in page
- a set of UI component test pages
The task description also defines additional pages and flows that should be documented in the GitHub version of the project if they are present there.