-
Notifications
You must be signed in to change notification settings - Fork 0
Usage
Complete walkthrough of every feature in SideQuest — from signing up to completing tasks and managing your profile.
- Open the app — you land on the auth screen.
- Click "New to SideQuest? Sign Up" to reveal the sign-up form.
- Enter your name, email, and a password (minimum 6 characters).
- Click Create Account.
On successful signup:
- Your Firebase Auth account is created.
- A
/users/{uid}Firestore document is created with a ₹500 demo wallet balance. - You are redirected to the main map screen.
- Enter your email and password on the login form.
- Click Sign In.
Tip: Firebase Auth persists your session in the browser's local storage. You remain logged in across page refreshes and browser restarts until you explicitly log out.
- Navigate to the Profile tab (bottom navigation).
- Scroll to the bottom and tap Log Out.
The map screen is your home base. It shows all open tasks as colour-coded map pins overlaid on OpenStreetMap tiles.
| Tab | Icon | Function |
|---|---|---|
| Explore | 🌐 Globe | Show the live map |
| My Tasks | 📋 Clipboard | See tasks you posted or claimed |
| Profile | 👤 Person | View your wallet, stats, and settings |
Tap the 📍 crosshair button (bottom-right corner) to fly the map back to your current location.
- Pinch to zoom (touch) or scroll wheel (desktop)
- Drag to pan
- Two-finger rotate to rotate (touch)
- Tap the + FAB button (bottom-right, blue circle with plus sign).
- Fill in the form:
| Field | Required | Notes |
|---|---|---|
| Title | ✅ | Short description, e.g. "Walk my dog for 30 min" |
| Category | ✅ | Help / Delivery / Social / Other |
| Reward (₹) | ❌ | Optional; must not exceed your wallet balance |
| Description | ✅ | Detail what needs to be done |
- Tap Post Task.
What happens next:
- If a reward was set, the amount is immediately deducted from your wallet (escrowed).
- A new document is created in Firestore
/tasks/withstatus: "open". - A map marker appears at your current location.
- The task is visible to all other signed-in users on the map.
⚠️ You cannot edit a task after posting. Delete it and repost if you need to make changes.
- Tap any task marker on the map (or find a task in search results).
- A task detail sheet slides up showing:
- Poster's name and avatar
- Time posted and approximate distance
- Reward amount
- Task title and description
- Tap "I'll do it!" to claim the task.
What happens:
- Task
statuschanges to"in-progress". -
assignee.idis set to your user UID. - The task appears under My Tasks → Claimed tab.
- The map marker colour updates to indicate it is in-progress.
ℹ️ You cannot claim your own task. The claim button is hidden for tasks you posted.
Once you have finished the work:
- Go to My Tasks → Claimed tab.
- Find the in-progress task and tap "Mark as Done".
- Task
statuschanges to"pending-confirmation". - The task poster receives a notification (toast) prompting them to confirm.
After the assignee marks a task done, you (as the poster) will see a rating modal:
- Select 1–5 stars to rate the assignee's work.
- Tap "Confirm & Rate".
What happens:
- Task
statuschanges to"completed". - The reward (₹) is atomically transferred from escrow to the assignee's wallet.
- The assignee's
totalRatingandratingCountare updated. - The task marker is removed from the map.
You may also tap "Skip / Cancel" to rate 0 stars (the reward is still released). Skipping does not update the rating average.
The search bar at the top of the map screen performs client-side full-text matching against each task's title and description fields.
- Results update in real-time as you type.
- Matching is case-insensitive.
- Search does not filter the map — it filters the task list view only.
Below the search bar there is a row of filter chips:
| Chip | Shows |
|---|---|
| All | All open tasks |
| Help | Tasks categorised as Help |
| Delivery | Tasks categorised as Delivery |
| Social | Tasks categorised as Social |
Tap a chip to activate it. Only one category can be active at a time. Active chip is styled with the primary blue colour.
You can only delete tasks you posted that are still open (not yet claimed).
- Tap the task marker on the map.
- In the task detail sheet, tap "Delete Task" (visible only to the poster).
- Confirm the deletion in the prompt.
What happens:
- The Firestore document is deleted.
- If a reward was escrowed, it is refunded to your wallet atomically.
- The map marker is removed.
ℹ️ Tasks claimed by another user cannot be deleted while
in-progress.
Your wallet balance is displayed:
- On the Profile screen under your name.
- In the Create Task modal next to the reward field.
Every new account starts with ₹500 (demo credits — no real money).
| Event | Effect |
|---|---|
| Post task with reward | Balance decremented by reward amount |
| Delete your own task | Balance incremented by reward amount (refund) |
| Complete a task you claimed | Balance incremented by reward amount |
All balance mutations are performed inside Firestore atomic transactions. You cannot post a task with a reward exceeding your balance.
Navigate to the Profile tab to see:
| Section | Content |
|---|---|
| Avatar | First letter of your display name |
| Display name + email | Your account details |
| Rating badge | Your average star rating (shown if you have been rated) |
| Wallet balance | Current ₹ balance |
| Stats grid | Tasks completed / tasks posted / average rating |
| Log Out button | Sign out of the app |
- Tap the ✏️ pencil icon next to your name.
- Enter a new name in the text field.
- Tap Save.
The My Tasks screen has two tabs:
Lists all tasks you have posted, grouped by status:
-
open— awaiting a claimer -
in-progress— someone is working on it -
pending-confirmation— assignee marked done; awaiting your rating
Lists all tasks you have claimed or are working on:
-
in-progress— tap Mark as Done when finished -
pending-confirmation— waiting for the poster to rate and confirm -
completed— finished tasks (for reference)
-
Safe areas: The UI automatically accounts for iPhone notches and Android navigation bars using
env(safe-area-inset-*). - Map gestures: Use two fingers to scroll the page behind the map. Single-finger drags pan the map.
- Bottom sheets: Task detail and create modals slide up from the bottom on mobile; centred on desktop.
-
Viewport: Uses
100svh(Small Viewport Height) so the layout doesn't shift when the browser address bar hides.
| Shortcut | Action |
|---|---|
Esc |
Close any open modal |
Enter in search bar |
Confirm search |
Tab |
Navigate between form fields |