# REDEEM By Michigo Studio — WORKFLOW & STATUS

> Last Updated: 2026-05-27 | Domain: **myredeem.my**

---

## Project Path
```
C:\Users\michi\Documents\KERJA PROJECT\DOMAIN\DOMAIN - PROJECT\myredeem.my\redeem-platform\
```

## Domains
| Domain | Purpose |
|--------|---------|
| **myredeem.my** | Vendor SaaS — registration, onboarding wizard, dashboard |
| **admin.myredeem.my** | Super admin — vendor management, CMS, monitoring |
| **myredeem.my/{vendor}** | Buyer branded redeem & download pages |

## Branding
```
REDEEM By Michigo Studio
```

---

## Architecture

### Modules (13 Total)
| Module | Platform | Purpose |
|--------|----------|---------|
| Auth | seller, admin | Firebase Google Login/Register |
| Admin | seller, admin | Super admin dashboard, CMS, monitoring |
| Vendors | seller | Vendor dashboard, 10-step onboarding wizard, branding |
| Products | seller, admin | Product models and management |
| Shopee | seller | Shopee OAuth, sync, webhook |
| Shopify | seller | Shopify connect, sync |
| Delivery | seller | Delivery configs, redeem codes, download tokens |
| Subscriptions | seller, admin | Free/Pro/Business plans |
| Support | seller | Vendor-admin messaging |
| Monitoring | seller, admin | System health checks |
| Analytics | seller, admin | Analytics tracking |
| Audit | seller, admin | Audit logs |
| Notifications | seller, admin | Notification system |

### Key Files Created
| File | Purpose |
|------|---------|
| `SetupController.php` | 10-step onboarding backend |
| `BrandingSetting.php` (Vendors) | Vendor branding settings model |
| `WebsiteSetting.php` (Admin) | Admin CMS settings model |
| `HomepageSection.php` (Admin) | Admin CMS sections model |
| `firebase.ts` | Single Firebase project config |
| `SubdomainResolver.php` | Domain detection: myredeem.my / admin.myredeem.my |
| `10 Step components` | Setup wizard frontend (Setup/ folder) |
| `ProgressTracker.tsx` | Wizard progress component |
| `PlanCard.tsx` | Subscription plan card |
| `useSetupProgress.ts` | Wizard progress hook |
| `.env.example` | Complete env template with Stripe, R2, Shopee |
| `DEPLOY.md` | Deployment guide |
| `README.md` | Project documentation |

---

## Onboarding Wizard (10 Steps)
1. Welcome Screen → 2. Shop Info → 3. Choose Plan (Free/Pro/Business) → 4. Branding → 5. Connect Shopee → 6. Connect Shopify (optional) → 7. Delivery Method → 8. Custom Domain (optional) → 9. Import Products (required) → 10. Complete

---

## Database
- 18 migrations
- 6 seeders (Admin, Vendor, Plans, Roles, Analytics, Homepage)
- Seed users: michigogxx@gmail.com (admin) / vendor@myredeem.my (vendor)

---

## BUGS FIXED (Rounds 1-3)
| # | File | Fix |
|---|------|-----|
| 1 | Vendor.php | `is_onboarding_completed` field name synced |
| 2 | Migration 000012 | Column renamed `is_onboarding_completed` |
| 3 | FirebaseAuthController | JWT signature verified FIRST (security fix) |
| 4 | Vendors routes | Removed duplicate buyer routes (Delivery handles them) |
| 5 | FirebaseAuthController | `onboarding_completed` → `is_onboarding_completed` (3 places) |
| 6 | BrandingController | `Website\Models` → `Vendors\Models\BrandingSetting` |
| 7 | HomepageService | `Website\Models` → `Admin\Models\HomepageSection` |
| 8 | WebsiteSettingController | `Website\Models` → `Admin\Models\WebsiteSetting` |
| 9 | SeoController | `Website\Models` → `Admin\Models\WebsiteSetting` |
| 10 | DownloadLog | Added `token_id` to $fillable |
| 11 | Notification | Added `title`, `message` to $fillable |

---

## Credentials Required Before Deploy
- [ ] Firebase project `myredeem-my` — Google Sign-In enabled
- [ ] MySQL database `dwc2eahe_myredeem_my`
- [ ] **CHIP Payment Gateway** (Malaysia) — Brand ID + API Key
- [ ] Stripe API keys (Pro/Business plans) — optional alternative
- [ ] Shopee Partner ID & Key
- [ ] Shopify API credentials
- [ ] Cloudflare R2 bucket
- [ ] Update `resources/js/firebase.ts` with real config

## Payment Gateways
| Gateway | Config Location | Webhook |
|---------|----------------|---------|
| **CHIP** (default) | Admin → Payment Settings | `POST /api/chip/callback` |
| Stripe | Admin → Payment Settings | `POST /stripe/webhook` |
- Keys configurable from Admin Panel → `/admin/settings/payment`
- Overrides .env values

## Deploy Target
```
Z:\home\dwc2eahe\myredeem.my\     ← Laravel backend
Z:\home\dwc2eahe\admin.myredeem.my\  ← Symlink to same codebase
```
**⚠️ JANGAN DEPLOY — semua file sedia dalam folder, verify dulu.**
