Skip to content

Backlog

Yousef Eltobji edited this page Apr 15, 2026 · 3 revisions

Product Backlog


Overview

This page contains the Tracklet Product Backlog, organized by sprint.
Each backlog item corresponds to a Functional Requirement (FR) from the Software Requirements Specification.

Backlog items include:

  • Completed items from Sprint 1
  • Completed items from Sprint 2
  • Planned items for Sprint 3

Sprint 1 Goal

Sprint 1 focused on building the core application foundation, including:

  • Supabase project integration
  • Authentication infrastructure
  • Landing page interface
  • Registration and login pages
  • Project environment configuration

Sprint 1 Backlog Items


FR1 – User Authentication / Account Access

Priority: 1
Type: Functional Requirement
Related Issue: [FR-1] User Authentication / Account Access
Status: In Progress

Description:
Allow users to register and log in securely to access their stored purchase data.

Completed Tasks:

  • Authentication architecture design
  • Supabase authentication integration
  • Environment variable configuration
  • Logout functionality
  • Authentication state displayed in navbar

Remaining Tasks:

  • Registration validation
  • Login error handling
  • Redirect after login

Owners:

  • Backend: Omar Ghabbour
  • Frontend: Salem Kalefa

FR20 – Store User Data Securely

Priority: 1
Type: Functional Requirement
Related Issue: [FR-20] Store User Data Securely
Status: Completed (Sprint 1)

Description:
Ensure all item and receipt data is stored securely and isolated per user.

Completed Tasks:

  • Supabase project setup
  • Supabase client installation (@supabase/supabase-js)
  • .env.local configuration
  • Initial Supabase client integration

Owner:

  • Adam Saadeh

FR-LP – Landing Page

Priority: 1
Type: Functional Requirement
Related Issue: [FR-LP] Landing Page
Status: Completed (Sprint 1)

Description:
Provide a public landing page explaining Tracklet and allowing users to navigate to authentication pages.

Completed Tasks:

  • Landing page layout
  • Navigation bar with authentication state
  • Hero section introduction
  • Features section
  • Product preview section
  • FAQ section
  • Footer navigation

Owner:

  • Frontend: Yousef Eltobji

Sprint 2 Goal

Sprint 2 focused on implementing the core inventory system and dashboard experience, enabling full CRUD functionality and backend integration.

Users are able to:

  • Add purchased items
  • View stored inventory
  • Edit item details
  • Delete item records
  • Interact with a functional dashboard UI

Sprint 2 Backlog Items


FR2 – Add Purchased Item

Priority: 1
Type: Functional Requirement
Related Issue: [FR-2] Add Purchased Item
Status: Completed (Sprint 2)

Description:
Allow users to add purchased items to their inventory.

Completed Tasks:

  • Add-item form UI created
  • Required field validation implemented
  • Item saved to Supabase database
  • Linked item to authenticated user

Owners:

  • Frontend: Salem Kalefa
  • Backend: Adam Saadeh

FR8 – View Item Inventory List

Priority: 1
Type: Functional Requirement
Related Issue: [FR-8] View Item Inventory List
Status: Completed (Sprint 2)

Description:
Display all user items in an inventory dashboard.

Completed Tasks:

  • Dashboard UI created
  • Server helper to fetch user items implemented (FR-8-1)
  • Items displayed dynamically on dashboard
  • Sidebar navigation implemented and improved (FR-8-2, FR-8-3)
  • Empty state handling

Owners:

  • Frontend: Yousef Eltobji
  • Frontend/UI: Kotyba Abuchaar

FR3 – Edit Item Details

Priority: 2
Type: Functional Requirement
Related Issue: [FR-3] Edit Item Details
Status: Completed (Sprint 2)

Description:
Allow users to edit previously entered item information.

Completed Tasks:

  • Edit form implemented
  • Existing data pre-filled
  • Database update logic implemented
  • UI updated after edit

Owner:

  • Backend: Omar Ghabbour

FR4 – Delete Item Records

Priority: 2
Type: Functional Requirement
Related Issue: [FR-4] Delete Item Records
Status: Completed (Sprint 2)

Description:
Allow users to delete items from their inventory.

Completed Tasks:

  • Delete button added to item UI
  • Item deletion logic implemented
  • Database records removed correctly
  • UI refreshed after deletion

Owner:

  • Backend: Adam Saadeh

FR20 – Store User Data Securely (Schema & RLS)

Priority: 1
Type: Functional Requirement
Related Issue: [FR-20] Store User Data Securely
Status: Completed (Sprint 2)

Description:
Ensure all item data is stored securely per user.

Completed Tasks:

  • Items table schema created
  • Foreign key linked to auth.users
  • Row Level Security (RLS) policies implemented
  • Access restricted per authenticated user

Owner:

  • Backend: Adam Saadeh

FR1 – User Authentication Improvements

Priority: 1
Type: Functional Requirement
Related Issue: [FR-1] User Authentication / Account Access
Status: Completed (Sprint 2)

Description:
Enhance authentication flow and user experience.

Completed Tasks:

  • Login page updated and fixed
  • Signup page enhanced with first/last name fields (FR-1-5)
  • Authentication server actions refactored (FR-1-4)
  • Improved error handling

Owners:

  • Backend: Omar Ghabbour
  • Frontend: Kotyba Abuchaar

Sprint 3 Goal

Sprint 3 focused on feature expansion and product polish, adding receipt handling, deadline tracking, warranty display, shared app layout improvements, and reminder functionality.

Users are able to:

  • Upload and store receipts
  • Auto-fill item fields from receipt images
  • Track return deadlines
  • Track warranty expiration
  • View return and warranty status directly in the UI
  • Use a cleaner split between dashboard overview and item management
  • Receive automated reminder support

Sprint 3 Backlog Items


FR5 – Upload Receipt File

Priority: 1
Type: Functional Requirement
Related Issue: [FR-5] Upload Receipt File
Status: Completed (Sprint 3)

Description:
Allow users to upload and store receipt files and connect them to item records.

Completed Tasks:

  • Uploaded receipts to a receipts bucket in Supabase Storage
  • Stored the public file URL in receipt_url
  • Allowed Add Item and Edit Item flows to attach a receipt file
  • Added an Upload Receipt section on /items
  • Linked uploaded files to item records
  • Added receipt viewing functionality from item cards
  • Allowed receipt replace/remove behavior
  • Removed receipt files from storage when deleting an item
  • Added receipt scan + auto-fill flow using OpenAI
  • Parsed item name, store, purchase date, category, price, return window, and warranty duration from supported image files
  • Added camera-friendly photo input using capture="environment"
  • Increased server action body limit for uploads

Owner:

  • Fullstack: Omar Ghabbour

FR8 – View Item Inventory List (Sprint 3 Enhancements)

Priority: 1
Type: Functional Requirement
Related Issue: [FR-8] View Item Inventory List
Status: Completed (Sprint 3)

Description:
Improve the signed-in dashboard and item management experience by separating overview content from item management and using a shared authenticated app shell.

Completed Tasks:

  • Split /dashboard and /items into separate routes
  • Made /dashboard an overview-only page
  • Moved Add Item, item list, and edit/delete functionality to /items
  • Added shared app/(app)/layout.tsx
  • Added shared sidebar with active route state
  • Updated sidebar navigation to use /items instead of #items
  • Added dashboard overview cards:
    • snapshot
    • upcoming return deadlines
    • expiring warranties
    • spending overview
    • recently added items
  • Updated revalidation for both /dashboard and /items

Owner:

  • Fullstack: Kotyba Abuchaar

FR11 – Record Return Policy Duration / Calculate Return Deadline

Priority: 1
Type: Functional Requirement
Related Issue: [FR-11] Record Return Policy Duration
Status: Completed (Sprint 3)

Description:
Allow users to enter return window duration and automatically calculate return deadlines.

Completed Tasks:

  • Added return window input field to Add Item form
  • Added return window input field to ItemCard edit mode
  • Updated backend item types to include return fields
  • Updated backend actions to calculate return deadline from purchase date
  • Added return deadline badge display to item cards
  • Added visual styling for return deadline status

Owner:

  • Fullstack: Yousef Eltobji

FR13 – Display Return Countdown Timer / Warranty Status Display

Priority: 1
Type: Functional Requirement
Related Issue: [FR-13] Display Return Countdown Timer
Status: Completed (Sprint 3)

Description:
Display deadline and warranty status information directly in the UI so users can quickly understand upcoming return and warranty deadlines.

Completed Tasks:

  • Added return display UI (FR-13-1)
  • Added warranty display UI (FR-13-2)
  • Added visual deadline indicators on item cards
  • Fixed bug where deadline visuals would not update correctly
  • Improved consistency of return and warranty display behavior

Owner:

  • Frontend: Salem Kalefa

FR14 – Record Warranty Information / Calculate Warranty Expiration

Priority: 1
Type: Functional Requirement
Related Issue: [FR-14] Record Warranty Information
Status: Completed (Sprint 3)

Description:
Allow users to enter warranty duration and automatically calculate expiration dates.

Completed Tasks:

  • Added warranty duration input to Add Item form
  • Added warranty duration input to ItemCard edit mode
  • Updated backend item types to include warranty fields
  • Updated backend actions to calculate warranty expiration from purchase date
  • Added warranty expiration badge display to item cards

Owner:

  • Fullstack: Yousef Eltobji

FR17 – Send Return Deadline Notifications

Priority: 1
Type: Functional Requirement
Related Issue: [FR-17] Send Return Deadline Notifications
Status: Completed (Sprint 3)

Description:
Notify users before return deadlines expire.

Completed Tasks:

  • Added return notification functionality
  • Connected reminder logic to return deadline tracking
  • Included support for automated reminder scheduling

Owner:

  • Salem, Yousef, Adam

FR18 – Send Warranty Expiration Notifications

Priority: 1
Type: Functional Requirement
Related Issue: [FR-18] Send Warranty Expiration Notifications
Status: Completed (Sprint 3)

Description:
Notify users before warranties expire.

Completed Tasks:

  • Added warranty expiration notification functionality
  • Connected reminder logic to warranty expiration tracking
  • Included support for automated reminder scheduling

Owner:

  • Salem, Yousef, Adam

FR19 – Schedule Automated Reminders

Priority: 1
Type: Functional Requirement
Related Issue: [FR-19] Schedule Automated Reminders
Status: Completed (Sprint 3)

Description:
Schedule automated reminders for return and warranty deadlines.

Completed Tasks:

  • Added reminder scheduling support
  • Integrated automated reminder behavior with deadline tracking features
  • Enabled reminder-related logic for return and warranty notifications

Owner:

  • Salem

Non-Functional Requirements

The following Non-Functional Requirements apply across all backlog items:

NFR1 – Performance

Pages must load quickly and database queries must be efficient.

NFR2 – Security & Privacy

All user data must be protected through authentication and database access controls.

NFR3 – Usability

User interactions should be simple, intuitive, and responsive.

NFR4 – Availability

The system must remain accessible across modern browsers and devices.

NFR5 – Reliability

The application must handle errors gracefully and prevent data loss.

Clone this wiki locally