Stu Mason
Stu Mason

Activity

StuMason/cleanconnect
TidyLinker.com
TypeScript
Pull Request Opened

PR #119 opened: feat: operational admin dashboard, nudge emails, and job notifications

Summary

  • Job notifications: Cleaners now get emailed when a matching job is posted in their area
  • Admin dashboard overhaul: Rebuilt as an operational command centre with:
    • Cleaner pipeline funnel (signup → email verified → onboarded → ID verified → Stripe active → fully ready)
    • Client pipeline funnel (signup → verified → posted job → completed job)
    • Action items with per-user and bulk nudge buttons
    • Marketplace health (jobs by status, cold jobs with no quotes, quotes, messages, revenue)
    • Signup trend chart (last 6 months, cleaner/client split)
    • Pre-launch signup stats (52 signups, 6 converted, 46 not contacted)
    • Recent registrations with verification status and last login
  • 4 nudge email types: verification reminder, onboarding nudge, Stripe setup reminder, profile completion
  • Launch announcement command: php artisan email:send-launch-announcement for the 46 unconverted pre-launch signups
  • Login tracking: last_login_at column + migration, updated on every login

Test plan

  • Run php artisan test --filter=DashboardController — all 24 tests pass
  • Run php artisan test --filter=SendLaunchAnnouncement — all 5 tests pass
  • Visit /admin as admin user — verify funnel, action items, marketplace health all render
  • Click a nudge button — verify email is sent and button shows "Sent"
  • Click "Nudge all" — verify bulk emails sent
  • Run php artisan email:send-launch-announcement --dry-run on production to verify recipient list
  • Verify job notification emails fire when a new job is posted
+2022
additions
-295
deletions
23
files changed