Melsaeed276 / Melsaeed276/Hatim_Program
auth: sign-up with phone or Google + optional reference code/password
Open
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Goal
Implement sign-up flow with either phone number or Google, including profile fields and optional password.
Requirements
- Support Phone Number sign-up.
- Support Google sign-up.
- Collect and store:
- Name (required)
- Reference code (optional)
- Password (optional)
- If user does not add password, allow later login without password by checking phone existence in database.
Firebase Scope
- Use Firebase Authentication providers:
- Phone
- Persist app user profile in Firestore (
userscollection).
Data Model (minimum)
users/{uid}
uidnamephoneNumber(nullable for Google-first users)referenceCode(nullable)authProviders(e.g.,["phone"],["google"], or both)passwordEnabled(bool)passwordHash(nullable, never store raw password)createdAtupdatedAt
Functional Behavior
- Phone sign-up path creates/updates user profile.
- Google sign-up path creates/updates user profile.
- If password entered during sign-up:
- store secure hash
- set
passwordEnabled = true
- If password omitted:
- set
passwordEnabled = false
- set
Acceptance Criteria
- User can complete sign-up with phone or Google.
- Name and optional reference code are saved correctly.
- Optional password behavior is implemented exactly as requested.
- Firestore user document is created/updated reliably.
- Validation and error states are handled for duplicate/invalid input.
Notes
- Password must be hashed before storage.
- Security rules should restrict user document access by authenticated owner.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Flutter authentication entry points and the Firebase Authentication and Firestore integration; this issue names no files or tests. Trace the Phone and Google flows against the users/{uid} data model, then verify completion using the stated validation, password-hashing, security-rule, and acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- firebase, flutter
- Domain
- authentication, database, mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100