-
Notifications
You must be signed in to change notification settings - Fork 0
Backlog
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 focused on building the core application foundation, including:
- Supabase project integration
- Authentication infrastructure
- Landing page interface
- Registration and login pages
- Project environment configuration
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
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.localconfiguration - Initial Supabase client integration
Owner:
- Adam Saadeh
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 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
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
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
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
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
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
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 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
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
receiptsbucket 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
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
/dashboardand/itemsinto separate routes - Made
/dashboardan 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
/itemsinstead of#items - Added dashboard overview cards:
- snapshot
- upcoming return deadlines
- expiring warranties
- spending overview
- recently added items
- Updated revalidation for both
/dashboardand/items
Owner:
- Fullstack: Kotyba Abuchaar
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
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
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
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
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
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
The following Non-Functional Requirements apply across all backlog items:
Pages must load quickly and database queries must be efficient.
All user data must be protected through authentication and database access controls.
User interactions should be simple, intuitive, and responsive.
The system must remain accessible across modern browsers and devices.
The application must handle errors gracefully and prevent data loss.