- Reorganized admin settings into tabbed interface (General, Security, Payment Methods) - Vertical tabs on desktop, horizontal scrollable on mobile - Moved Payment Methods from separate menu to Settings tab - Fixed admin profile reuse and dashboard blocking - Fixed maintenance mode guard to use AppConfig model - Added admin auto-redirect after login (admins → /admin, users → /) - Reorganized documentation into docs/ folder structure - Created comprehensive README and documentation index - Added PWA and Web Push notifications to to-do list
5.2 KiB
5.2 KiB
To-Do List
🚀 High Priority
3. PWA Implementation
Status: Pending
Priority: High
Estimated Time: 4-6 hours
Tasks:
-
Create
manifest.jsonfor PWA- App name, icons, theme colors
- Display mode (standalone)
- Start URL and scope
-
Add app icons
- 192x192 icon
- 512x512 icon
- Maskable icons for Android
- Apple touch icons for iOS
-
Create Service Worker
- Cache strategy (network-first for API, cache-first for assets)
- Offline fallback page
- Background sync for transactions
-
Add "Add to Home Screen" prompt
- Detect installation capability
- Show custom install prompt
- Handle installation events
-
Test PWA features
- Install on Android
- Install on iOS (Safari)
- Test offline functionality
- Verify caching works
Benefits:
- Users can install app on home screen
- Works offline
- Faster load times
- Native app-like experience
Resources:
4. Web Push Notifications
Status: Pending
Priority: High
Estimated Time: 6-8 hours
Backend Tasks:
-
Install
web-pushlibrarycd apps/api npm install web-push -
Generate VAPID keys
const vapidKeys = webpush.generateVAPIDKeys() // Add to .env: // VAPID_PUBLIC_KEY=... // VAPID_PRIVATE_KEY=... -
Create PushSubscription model (Prisma)
model PushSubscription { id String @id @default(uuid()) userId String user User @relation(fields: [userId], references: [id]) endpoint String @unique keys Json createdAt DateTime @default(now()) @@index([userId]) } -
Create NotificationService
- Subscribe endpoint
- Unsubscribe endpoint
- Send notification method
- Batch send for multiple users
-
Add notification triggers
- Transaction reminders (scheduled)
- Budget alerts (real-time)
- Payment reminders (scheduled)
- Admin alerts (real-time)
Frontend Tasks:
-
Request notification permission
- Show permission prompt
- Handle user response
- Store permission status
-
Subscribe to push notifications
- Get service worker registration
- Subscribe with VAPID public key
- Send subscription to backend
-
Handle push events in Service Worker
- Show notification
- Handle notification click
- Open relevant page
-
Add notification preferences UI
- Enable/disable notifications
- Choose notification types
- Set quiet hours
-
Test notifications
- Test on Chrome (Android & Desktop)
- Test on Firefox
- Test on Safari (iOS 16.4+)
- Test notification click actions
Use Cases:
-
Transaction Reminders
- "Don't forget to log today's expenses!"
- Daily/weekly schedule
-
Budget Alerts
- "You've spent 80% of your monthly budget"
- Real-time threshold alerts
-
Payment Reminders
- "Subscription payment due in 3 days"
- Scheduled based on payment dates
-
Goal Progress
- "You're 50% towards your savings goal! 🎉"
- Milestone notifications
-
Admin Notifications
- "New payment verification request"
- "New user registered"
Resources:
📋 Medium Priority
Code Quality
- Fix ESLint warnings (87 issues)
- Review and fix auth-related warnings
- Fix OTP component warnings
- Fix transaction/wallet warnings
Testing
- Add unit tests for critical functions
- Add integration tests for API endpoints
- Add E2E tests for main user flows
Documentation
- API endpoint documentation (Swagger/OpenAPI)
- Component documentation (Storybook)
- Database schema documentation
🔮 Future Enhancements
Features
- Export transactions (CSV, PDF)
- Recurring transactions
- Budget categories
- Multi-currency support
- Team/family sharing
- Financial reports and charts
Admin Features
- Analytics dashboard
- User activity logs
- System health monitoring
- Backup and restore
Integrations
- Bank account sync
- Receipt scanning (OCR)
- Cryptocurrency tracking
- Investment portfolio
✅ Completed
- Maintenance mode implementation
- Admin auto-redirect after login
- Profile page reuse for admin
- Admin dashboard blocking for regular users
- Admin settings tabbed interface
- Documentation reorganization
📝 Notes
Priority Levels:
- High: Should be done soon (within 1-2 weeks)
- Medium: Important but not urgent (within 1 month)
- Low: Nice to have (when time permits)
Time Estimates:
- Based on single developer working full-time
- May vary based on experience and complexity
- Include testing and documentation time
Update Frequency:
- Review weekly
- Mark completed items
- Add new items as needed
- Reprioritize based on user feedback