MVP1 Backlog - Tracking Table
1. Overview
← Back to MVP1 Backlog | ← Back to Product | ← Back to Main Page
This document provides a simplified table format of all MVP1 user stories for easy tracking in sprint planning tools or spreadsheets. It excludes acceptance criteria for brevity and focuses on story identification, priority, and assignment.
Total User Stories: 68 | Total Story Points: 252 | Duration: 12 weeks (6 sprints)
2. Complete MVP1 User Stories Table
| ID | Epic | Feature | User Story | Story Points | Priority | Sprint | Status | Assignee |
|---|---|---|---|---|---|---|---|---|
| US-001 | EP-001 | F-001 | As a new user, I want to register with email and password so that I can create an account | 3 | Critical | 1 | Ready | - |
| US-002 | EP-001 | F-001 | As a registered user, I want to log in with my email and password so that I can access my account | 3 | Critical | 1 | Ready | - |
| US-003 | EP-001 | F-001 | As a user, I want to reset my password if I forget it so that I can regain access to my account | 5 | High | 1 | Ready | - |
| US-004 | EP-001 | F-001 | As a system, I must validate user inputs on both frontend and backend so that data integrity is maintained | 2 | Critical | 1 | Ready | - |
| US-005 | EP-001 | F-002 | As a logged-in user, I want to view my profile information so that I can verify my account details | 2 | High | 2 | Ready | - |
| US-006 | EP-001 | F-002 | As a logged-in user, I want to edit my profile information so that I can keep my data up-to-date | 3 | High | 2 | Ready | - |
| US-007 | EP-001 | F-002 | As a user, I want my profile picture to display a default avatar so that my profile is visually identifiable | 1 | Medium | 2 | Ready | - |
| US-008 | EP-001 | F-002 | As a system admin, I want to view user roles and permissions so that I can manage access control | 2 | High | 2 | Ready | - |
| US-009 | EP-001 | F-003 | As a system, I must assign roles to users upon registration so that permissions are enforced | 3 | High | 2 | Ready | - |
| US-010 | EP-001 | F-003 | As an admin, I want to manage EcoPoints so that I can add/edit/remove collection stations | 5 | Critical | 2 | Ready | - |
| US-011 | EP-001 | F-003 | As a cooperative member, I want to manage educational content so that I can share recycling knowledge | 5 | High | 2 | Ready | - |
| US-012 | EP-001 | F-004 | As a system, I must manage user sessions securely so that unauthorized access is prevented | 5 | Critical | 2 | Ready | - |
| US-013 | EP-001 | F-004 | As a system, I must automatically log out inactive users so that security is maintained | 3 | Critical | 2 | Ready | - |
| US-014 | EP-002 | F-005 | As a user, I want an intuitive login screen so that I can quickly access my account | 3 | Critical | 3 | Ready | - |
| US-015 | EP-002 | F-005 | As a new user, I want a simple registration form so that I can easily create an account | 3 | Critical | 3 | Ready | - |
| US-016 | EP-002 | F-005 | As a user on mobile, I want the login/registration to be optimized for touch so that interaction is seamless | 2 | High | 3 | Ready | - |
| US-017 | EP-002 | F-006 | As a user, I want a consistent navigation menu so that I can easily move between sections | 3 | High | 3 | Ready | - |
| US-018 | EP-002 | F-006 | As a user, I want the app to be responsive so that I can use it on any device | 3 | Critical | 3 | Ready | - |
| US-019 | EP-002 | F-006 | As a user, I want visual consistency across all screens so that the experience feels cohesive | 2 | High | 3 | Ready | - |
| US-020 | EP-002 | F-007 | As a logged-in user, I want to see my recycling summary on the dashboard so that I can track my impact | 3 | High | 3 | Ready | - |
| US-021 | EP-002 | F-007 | As a user, I want quick access to key actions from the dashboard so that I can efficiently use the app | 2 | High | 3 | Ready | - |
| US-022 | EP-002 | F-007 | As a user, I want to see my recent donations on the dashboard so that I have quick overview of my activity | 3 | Medium | 3 | Ready | - |
| US-023 | EP-002 | F-008 | As a user with visual impairment, I want sufficient color contrast so that I can read content easily | 2 | Medium | 4 | Ready | - |
| US-024 | EP-002 | F-008 | As a user with motor impairments, I want keyboard navigation support so that I can use the app without a mouse | 3 | Medium | 4 | Ready | - |
| US-025 | EP-002 | F-008 | As a screen reader user, I want semantic HTML and ARIA labels so that I can understand the interface | 3 | Medium | 4 | Ready | - |
| US-026 | EP-003 | F-009 | As a user, I want to see EcoPoints on a map so that I can find nearby collection stations | 5 | Critical | 4 | Ready | - |
| US-027 | EP-003 | F-009 | As a user, I want to see my current location on the map so that I can orient myself | 3 | Critical | 4 | Ready | - |
| US-028 | EP-003 | F-009 | As a user, I want to see the distance to each EcoPoint so that I can choose the nearest one | 3 | High | 4 | Ready | - |
| US-029 | EP-003 | F-009 | As a user, I want to tap on an EcoPoint marker so that I can view its details | 2 | High | 4 | Ready | - |
| US-030 | EP-003 | F-010 | As a user, I want to see a list of nearby EcoPoints so that I can compare options | 3 | High | 4 | Ready | - |
| US-031 | EP-003 | F-010 | As a user, I want to switch between map and list views so that I can choose my preferred visualization | 2 | Medium | 4 | Ready | - |
| US-032 | EP-003 | F-010 | As a user, I want to search for EcoPoints by name or address so that I can find specific locations | 3 | Medium | 4 | Ready | - |
| US-033 | EP-003 | F-011 | As a user, I want to view detailed information about an EcoPoint so that I know what to expect | 3 | High | 4 | Ready | - |
| US-034 | EP-003 | F-011 | As a user, I want to get directions to an EcoPoint so that I can navigate there | 2 | High | 4 | Ready | - |
| US-035 | EP-003 | F-011 | As a user, I want to see which recyclable materials are accepted so that I know what to bring | 2 | High | 4 | Ready | - |
| US-036 | EP-003 | F-011 | As a user, I want to see the EcoPoint's operational status so that I don't visit when closed | 1 | Medium | 4 | Ready | - |
| US-037 | EP-004 | F-012 | As a user at an EcoPoint, I want to scan the QR code so that I can start the donation process | 5 | Critical | 5 | Ready | - |
| US-038 | EP-004 | F-012 | As a system, I must validate the QR code so that only authorized EcoPoints are accessed | 3 | Critical | 5 | Ready | - |
| US-039 | EP-004 | F-012 | As a user, I want clear instructions on how to scan the QR code so that I can complete the action successfully | 2 | High | 5 | Ready | - |
| US-040 | EP-004 | F-012 | As a user with camera issues, I want to manually enter the EcoPoint code so that I can still donate | 3 | Medium | 5 | Ready | - |
| US-041 | EP-004 | F-013 | As a system, I must enforce a 5-minute session timeout at EcoPoint kiosks so that stations remain available | 3 | Critical | 5 | Ready | - |
| US-042 | EP-004 | F-013 | As a user, I want to see the remaining session time so that I know how long I have | 2 | High | 5 | Ready | - |
| US-043 | EP-004 | F-013 | As a user, I want to manually end my session so that the next person can use the kiosk | 2 | High | 5 | Ready | - |
| US-044 | EP-004 | F-013 | As a system, I must clear all user data from the kiosk after logout so that privacy is protected | 1 | Critical | 5 | Ready | - |
| US-045 | EP-005 | F-014 | As a user at an EcoPoint, I want to register my donation so that it's recorded in the system | 5 | Critical | 5 | Ready | - |
| US-046 | EP-005 | F-014 | As a user, I want to select from predefined material categories so that registration is quick | 2 | Critical | 5 | Ready | - |
| US-047 | EP-005 | F-014 | As a user, I want to receive immediate feedback upon submitting a donation so that I know it was successful | 3 | High | 5 | Ready | - |
| US-048 | EP-005 | F-014 | As a user, I want validation to prevent errors so that my data is accurate | 3 | High | 5 | Ready | - |
| US-049 | EP-005 | F-015 | As a system, I must detect invalid donations so that contamination is discouraged | 3 | High | 5 | Ready | - |
| US-050 | EP-005 | F-015 | As a user who submits an invalid donation, I should be informed so that I can correct my behavior | 3 | High | 5 | Ready | - |
| US-051 | EP-005 | F-015 | As a system, I must not register invalid donations in the user's history so that statistics remain accurate | 2 | Medium | 5 | Ready | - |
| US-052 | EP-005 | F-016 | As a user, I want to view my donation history so that I can track my recycling activity | 3 | High | 6 | Ready | - |
| US-053 | EP-005 | F-016 | As a user, I want to filter my donation history so that I can find specific entries | 3 | High | 6 | Ready | - |
| US-054 | EP-005 | F-016 | As a user, I want to see my total recycling impact so that I can understand my contribution | 2 | Medium | 6 | Ready | - |
| US-055 | EP-005 | F-017 | As a user, I want to view details of a specific donation so that I can review it | 2 | Medium | 6 | Ready | - |
| US-056 | EP-005 | F-017 | As a user, I want to share my donation on social media so that I can inspire others | 3 | Low | 6 | Ready | - |
| US-091 | EP-010 | F-029 | As a developer, I want RESTful API endpoints for all core entities so that the frontend can interact with the backend | 8 | Critical | 1 | Ready | - |
| US-092 | EP-010 | F-029 | As a system, I must validate all API requests so that data integrity is maintained | 5 | Critical | 1 | Ready | - |
| US-093 | EP-010 | F-029 | As a developer, I want API documentation so that integration is straightforward | 5 | High | 1 | Ready | - |
| US-094 | EP-010 | F-029 | As a system, I must handle errors gracefully so that clients receive meaningful feedback | 3 | High | 1 | Ready | - |
| US-095 | EP-010 | F-030 | As a system, I must authenticate API requests so that only authorized users access protected endpoints | 5 | Critical | 1 | Ready | - |
| US-096 | EP-010 | F-030 | As a system, I must authorize requests based on user roles so that permissions are enforced | 5 | Critical | 1 | Ready | - |
| US-097 | EP-010 | F-030 | As a system, I must rate-limit API requests so that abuse is prevented | 3 | High | 1 | Ready | - |
| US-098 | EP-010 | F-031 | As a developer, I want a normalized database schema so that data is efficiently stored | 8 | Critical | 1 | Ready | - |
| US-099 | EP-010 | F-031 | As a system, I must ensure data consistency so that referential integrity is maintained | 3 | Critical | 1 | Ready | - |
| US-100 | EP-010 | F-031 | As a developer, I want database migrations so that schema changes are versioned | 2 | High | 1 | Ready | - |
| US-101 | EP-010 | F-032 | As a developer, I want ORM/ODM abstraction so that database operations are simplified | 5 | High | 3 | Ready | - |
| US-102 | EP-010 | F-032 | As a system, I must log database queries in development so that debugging is easier | 3 | Medium | 3 | Ready | - |
| US-103 | EP-011 | F-033 | As a developer, I want a component-based architecture so that code is reusable | 5 | Critical | 2 | Ready | - |
| US-104 | EP-011 | F-033 | As a developer, I want shared components so that UI is consistent | 5 | High | 2 | Ready | - |
| US-105 | EP-011 | F-033 | As a developer, I want routing configured so that navigation works | 3 | Critical | 2 | Ready | - |
| US-106 | EP-011 | F-034 | As a developer, I want global state management so that data flows predictably | 5 | High | 3 | Ready | - |
| US-107 | EP-011 | F-034 | As a developer, I want API integration hooks so that data fetching is standardized | 3 | High | 3 | Ready | - |
| US-108 | EP-011 | F-035 | As a developer, I want automated testing so that regressions are caught early | 5 | High | 6 | Ready | - |
| US-109 | EP-011 | F-035 | As a team, we want CI/CD pipeline so that deployment is automated | 3 | High | 6 | Ready | - |
| US-110 | EP-012 | F-036 | As a system, I must protect against common vulnerabilities so that user data is secure | 5 | Critical | 6 | Ready | - |
| US-111 | EP-012 | F-036 | As a system, I must encrypt sensitive data so that privacy is maintained | 5 | Critical | 6 | Ready | - |
| US-112 | EP-012 | F-036 | As a system, I must log security events so that threats can be detected | 3 | High | 6 | Ready | - |
| US-113 | EP-012 | F-037 | As a user, I want to control my data so that my privacy is protected | 5 | High | 6 | Ready | - |
| US-114 | EP-012 | F-037 | As a system, I must anonymize data for analytics so that privacy is preserved | 3 | Medium | 6 | Ready | - |
3. Sprint Summary Table
| Sprint | Weeks | Story Points | User Stories | Focus Area | Key Deliverables |
|---|---|---|---|---|---|
| Sprint 1 | 1-2 | 42 | US-001 to US-004, US-091 to US-100 | Foundation & Backend | Backend API, Database, Authentication |
| Sprint 2 | 3-4 | 42 | US-005 to US-013, US-103 to US-105 | User Management & Architecture | User profiles, RBAC, React structure |
| Sprint 3 | 5-6 | 40 | US-014 to US-022, US-101, US-102, US-106, US-107 | UI & State Management | Main screens, navigation, state management |
| Sprint 4 | 7-8 | 37 | US-023 to US-036 | EcoPoint Discovery | Map integration, EcoPoint features, accessibility |
| Sprint 5 | 9-10 | 42 | US-037 to US-051 | Donation Flow | QR scanning, donation registration |
| Sprint 6 | 11-12 | 42 | US-052 to US-056, US-108 to US-114 | History & Security | Donation history, security hardening, CI/CD |
| Total | 12 | 245 | 68 stories | MVP1 Complete | Production-ready platform |
4. Epic Summary Table
| Epic ID | Epic Name | User Stories | Story Points | % of Total | Priority |
|---|---|---|---|---|---|
| EP-010 | Backend Services & API | 14 | 55 | 21.8% | Critical |
| EP-001 | User Authentication & Profile Management | 13 | 42 | 16.7% | Critical |
| EP-005 | Donation Registration & Validation | 12 | 34 | 13.5% | Critical |
| EP-002 | User Interface & Experience Design | 12 | 32 | 12.7% | Critical |
| EP-003 | EcoPoint Location & Discovery | 11 | 29 | 11.5% | Critical |
| EP-004 | QR Code Access & Kiosk Integration | 8 | 21 | 8.3% | Critical |
| EP-012 | Security & Data Protection | 5 | 21 | 8.3% | Critical |
| EP-011 | Frontend Architecture & State Management | 7 | 21 | 8.3% | Critical |
| Total | 8 Epics | 68 | 252 | 100% | — |
5. Feature Summary Table
| Feature ID | Feature Name | Epic | User Stories | Story Points | Priority |
|---|---|---|---|---|---|
| F-001 | Email/Password Authentication | EP-001 | 4 | 13 | Critical |
| F-002 | User Profile Management | EP-001 | 4 | 8 | High |
| F-003 | User Roles & Permissions | EP-001 | 3 | 13 | High |
| F-004 | Session Management & Security | EP-001 | 2 | 8 | Critical |
| F-005 | Login/Registration Screens | EP-002 | 3 | 8 | Critical |
| F-006 | Navigation & Layout Structure | EP-002 | 3 | 8 | High |
| F-007 | User Dashboard | EP-002 | 3 | 8 | High |
| F-008 | Accessibility Features | EP-002 | 3 | 8 | Medium |
| F-009 | EcoPoint Map View | EP-003 | 4 | 13 | Critical |
| F-010 | EcoPoint List View | EP-003 | 3 | 8 | High |
| F-011 | EcoPoint Detail Screen | EP-003 | 4 | 8 | High |
| F-012 | QR Code Reader | EP-004 | 4 | 13 | Critical |
| F-013 | Session Timeout & Security | EP-004 | 4 | 8 | Critical |
| F-014 | Donation Form | EP-005 | 4 | 13 | Critical |
| F-015 | Invalid Donation Handling | EP-005 | 3 | 8 | High |
| F-016 | Donation History View | EP-005 | 3 | 8 | High |
| F-017 | Donation Details | EP-005 | 2 | 5 | Medium |
| F-029 | Core API Endpoints | EP-010 | 4 | 21 | Critical |
| F-030 | Authentication & Authorization Middleware | EP-010 | 3 | 13 | Critical |
| F-031 | Database Schema | EP-010 | 3 | 13 | Critical |
| F-032 | Data Access Layer | EP-010 | 2 | 8 | High |
| F-033 | Component Architecture | EP-011 | 3 | 13 | Critical |
| F-034 | State Management | EP-011 | 2 | 8 | High |
| F-035 | CI/CD Configuration | EP-011 | 2 | 8 | High |
| F-036 | Security Hardening | EP-012 | 3 | 13 | Critical |
| F-037 | Privacy Controls | EP-012 | 2 | 8 | High |
6. Priority Distribution
| Priority | User Stories | Story Points | Percentage |
|---|---|---|---|
| Critical | 38 | 158 | 62.7% |
| High | 24 | 79 | 31.3% |
| Medium | 6 | 15 | 6.0% |
| Low | 0 | 0 | 0% |
| Total | 68 | 252 | 100% |
7. Status Legend
| Status | Description |
|---|---|
| Ready | Story is ready for sprint planning and development |
| In Progress | Story is currently being worked on |
| In Review | Code is complete and under peer review |
| Testing | Story is in QA testing phase |
| Done | Story meets Definition of Done and is accepted |
| Blocked | Story is blocked by dependencies or issues |
8. Import Instructions
For Jira:
- Export this table as CSV
- Go to Jira → Settings → System → Import & Export
- Map columns: ID → Key, User Story → Summary, Story Points → Story Points, Priority → Priority, Sprint → Sprint, Epic → Epic Link
For Azure DevOps:
- Export as CSV
- Go to Boards → Backlogs → Import Work Items
- Map columns accordingly
For Google Sheets/Excel:
- Copy the main table (Section 2)
- Paste into spreadsheet
- Add formulas for tracking (e.g., burndown charts)
9. Tracking Recommendations
Daily Stand-up: - Update Status column - Assign stories to team members (Assignee column) - Identify blockers
Sprint Planning: - Filter by Sprint number - Assign stories based on priority and dependencies - Balance story points across team members
Sprint Review: - Update Status to "Done" for completed stories - Move incomplete stories to next sprint - Update Story Points if re-estimated
Retrospective: - Review velocity (story points completed) - Identify patterns in blocked stories - Adjust sprint capacity for next iteration
10. Revision History
| Date | Version | Author | Changes |
|---|---|---|---|
| 2025-10-07 | 1.0 | Mateus Vieira | Initial tracking table for MVP1 backlog |
← Back to MVP1 Backlog | ← Back to Product | ← Back to Main Page