Files
tabungin/docs/planning/implementation-plan.md
Dwindi Ramadhana 6a6e74562c checkpoint: goals feature, wallet balance, and goals/wallet detail UI
- Add goals feature (models, migrations, API, web pages)
- Add reserved/centralized wallet balance service
- Add wallet detail page and overview components
- Add new UI components (progress, multi-select, FAB)
- Remove stray empty -H/-d files from working tree
2026-06-17 20:40:00 +07:00

166 lines
3.8 KiB
Markdown
Executable File

# 🚀 TABUNGIN IMPLEMENTATION PLAN
**Date:** 2025-10-22 (Updated)
**Status:** Phase 1 Complete
**Current Phase:** Planning Next Phase
---
## 📋 OVERVIEW
Tabungin is a personal finance SaaS with unique differentiators:
- 💰 Goals/Savings tracking with visual progress
- 👥 Team/Family collaboration on shared finances
- 🔑 API access for advanced users
- 💳 Flexible payment (manual + automatic)
---
## 🎯 PHASES
### Phase 1: Admin Dashboard ✅ COMPLETE
- ✅ User management
- ✅ Dynamic plans management
- ✅ Payment methods with logos (drag-drop reordering)
- ✅ Payment verification
- ✅ App settings (tabbed interface - General, Security, Payment Methods)
- ✅ Maintenance mode with admin bypass
- ✅ Admin auto-redirect
- ✅ Profile page integration
### Phase 2: Team Feature (2-3 weeks)
- Team creation & invitations
- Shared wallets & goals
- Permission system
- Activity feed
### Phase 3: Goals Feature (2-3 weeks)
- Goal creation with images
- Multi-wallet allocation
- Progress tracking with donut charts
- Milestone notifications (25%, 50%, 75%, 100%)
- Exchange rate conversion
### Phase 4: Subscription (2 weeks)
- Manual payment flow
- Tripay integration
- Trial period (7 days)
- Grace period (3 days)
- Feature gating
- Coupon system
### Phase 5: API & Webhooks (2 weeks)
- API key generation
- Rate limiting
- Webhook system
- Usage tracking
---
## 💰 PRICING
| Feature | Free | Pro Monthly | Pro Yearly |
|---------|------|-------------|------------|
| Price | Rp 0 | Rp 49,000 | Rp 490,000 |
| Wallets | 5 | Unlimited | Unlimited |
| Goals | 3 | Unlimited | Unlimited |
| Team | ❌ | ✅ (10) | ✅ (10) |
| API | ❌ | ✅ 1000/hr | ✅ 1000/hr |
| Trial | - | 7 days | 7 days |
---
## 🗄️ DATABASE STRATEGY
**Zero Data Loss:**
- All new fields nullable or have defaults
- Additive migrations only
- No destructive changes
- Backward compatible
**New Models:**
- Plan, Subscription, Payment, PaymentMethod, Coupon
- Goal, GoalAllocation, GoalMilestone
- Team, TeamMember, TeamInvitation
- ApiKey, ApiKeyUsage, Webhook, WebhookDelivery
- AppConfig
**Modified:**
- User: add role, phone, suspendedAt
- Wallet: add teamId
---
## 🔐 SECURITY
- Admin routes: `/admin/*`
- JWT with role claim
- API keys hashed
- Internal DB URL in production
- Encrypted sensitive config
- Audit logging
---
## 📝 ADMIN SEEDER DATA
**Admin Account:**
- Email: (provide)
- Name: Dwindi Ramadhana
- Password: (provide or auto-generate)
**Default Plans:**
- Free: Rp 0, 5 wallets, 3 goals
- Pro Monthly: Rp 49,000, unlimited
- Pro Yearly: Rp 490,000, unlimited
**Payment Methods:**
- BCA, Mandiri, GoPay, OVO (placeholder data)
---
## ✅ PROGRESS
**Completed:**
- [x] Auth (email + Google OAuth)
- [x] OTP/2FA
- [x] Wallets & Transactions
- [x] Categories
- [x] Theme system
- [x] Filters & routing
**Completed:**
- [x] Phase 1: Admin Dashboard ✅ 100%
- [x] Schema migration
- [x] Seeder
- [x] Backend (100%)
- [x] Admin Guard
- [x] JWT Role Support
- [x] Plans CRUD
- [x] Payment Methods CRUD
- [x] Payments Verification
- [x] Users Management
- [x] App Config
- [x] Maintenance Guard
- [x] Frontend (100%)
- [x] Admin Layout with Sidebar
- [x] Dashboard with Stats
- [x] Plans Management (Full CRUD)
- [x] Users Management (Full CRUD)
- [x] Payment Methods (Full CRUD with drag-drop)
- [x] Payment Verification
- [x] App Settings (Tabbed: General, Security, Payment Methods)
- [x] Maintenance Mode UI
- [x] Profile Integration
**Next Options:**
- [ ] Option A: PWA + Push Notifications (Recommended - 1-2 weeks)
- [ ] Option B: Phase 4: Subscription System (Revenue - 2 weeks)
- [ ] Option C: Phase 2: Team Feature (Original plan - 2-3 weeks)
- [ ] Phase 3: Goals (After Team)
- [ ] Phase 5: API & Webhooks
---
**Last Updated:** 2025-10-22