Skip to content

Commit d96253c

Browse files
authored
Merge pull request #15 from fuzziecoder/codex/create-issues-with-difficulty-tags
Replace demo token with JWT
2 parents 1cf51b6 + bf4d98d commit d96253c

1 file changed

Lines changed: 98 additions & 0 deletions

File tree

.github/CONTRIBUTOR_ISSUES.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Contributor Issue Backlog
2+
3+
Use the following ready-to-create issues for contributors.
4+
Every issue includes the mandatory `apertre3.0` tag plus one difficulty tag: `easy`, `medium`, or `hard`.
5+
6+
---
7+
8+
## Easy
9+
10+
### 1) Improve empty state on Notifications page
11+
- **Labels:** `easy`, `apertre3.0`
12+
- **Description:**
13+
Add a friendly empty state UI on `pages/NotificationsPage.tsx` when there are no notifications.
14+
- **Acceptance Criteria:**
15+
- Show icon + short message + call-to-action button.
16+
- Style is consistent with existing app theme.
17+
- No TypeScript errors.
18+
19+
### 2) Add loading spinner to Profile save action
20+
- **Labels:** `easy`, `apertre3.0`
21+
- **Description:**
22+
In `pages/ProfilePage.tsx`, show a loading indicator on the save button while profile updates are in progress.
23+
- **Acceptance Criteria:**
24+
- Save button disabled while request is pending.
25+
- Spinner/text feedback appears.
26+
- Existing save logic still works.
27+
28+
### 3) Add inline helper text for OTP input
29+
- **Labels:** `easy`, `apertre3.0`
30+
- **Description:**
31+
Add helper text and error hint improvements around `components/common/OtpInput.tsx` usage in login flow.
32+
- **Acceptance Criteria:**
33+
- Clear helper text for first-time users.
34+
- Validation hint appears for invalid OTP.
35+
- No visual regressions.
36+
37+
---
38+
39+
## Medium
40+
41+
### 4) Add transaction filtering by date range
42+
- **Labels:** `medium`, `apertre3.0`
43+
- **Description:**
44+
Extend `components/common/TransactionHistory.tsx` with date range filters.
45+
- **Acceptance Criteria:**
46+
- Filter options: last 7 days, 30 days, custom range.
47+
- UI updates list without full page reload.
48+
- Handles empty filtered results.
49+
50+
### 5) Refactor drinks card rendering into reusable component
51+
- **Labels:** `medium`, `apertre3.0`
52+
- **Description:**
53+
Extract duplicated drinks item card UI from `pages/DrinksPage.tsx` / `pages/DrinksPageNew.tsx` into shared component.
54+
- **Acceptance Criteria:**
55+
- Shared card component created and reused.
56+
- No behavior change in existing flows.
57+
- Component accepts props for name, image, price, and actions.
58+
59+
### 6) Add optimistic UI for chat messages
60+
- **Labels:** `medium`, `apertre3.0`
61+
- **Description:**
62+
Improve `pages/ChatPage.tsx` + chat context so sent messages appear instantly before server acknowledgment.
63+
- **Acceptance Criteria:**
64+
- Pending state shown until confirmed.
65+
- Failed sends are clearly marked with retry option.
66+
- Order of messages remains stable.
67+
68+
---
69+
70+
## Hard
71+
72+
### 7) Implement role-based route guards (admin/member)
73+
- **Labels:** `hard`, `apertre3.0`
74+
- **Description:**
75+
Expand auth logic to support role-based access for selected routes using `components/auth/ProtectedRoute.tsx` and `contexts/AuthContext.tsx`.
76+
- **Acceptance Criteria:**
77+
- Route-level permission checks for at least 2 roles.
78+
- Unauthorized users redirected with message.
79+
- Existing authenticated routes remain functional.
80+
81+
### 8) Add offline cache fallback for drinks catalog
82+
- **Labels:** `hard`, `apertre3.0`
83+
- **Description:**
84+
Build a cache strategy for drinks data in `services` + `utils/storage.ts` to support limited offline view.
85+
- **Acceptance Criteria:**
86+
- Last successful drinks list is cached.
87+
- If network request fails, cached data is shown with stale warning.
88+
- Cache invalidation strategy documented in code comments.
89+
90+
### 9) Build audit log view for payment updates
91+
- **Labels:** `hard`, `apertre3.0`
92+
- **Description:**
93+
Add an admin-facing audit history page for payment status changes using payment context and transaction data.
94+
- **Acceptance Criteria:**
95+
- New page listing timestamp, actor, old status, new status.
96+
- Pagination or virtualized list for large datasets.
97+
- Access restricted to admin role.
98+

0 commit comments

Comments
 (0)