Two-sided SaaS architecture
EZinvoices is built as a two-sided SaaS application. The admin dashboard is the core operating system for business owners. The client portal is the external-facing layer where clients can view invoices, check status, and complete payment. The system uses Next.js for the application layer, Supabase for authentication, data storage and row-level security, and Stripe for subscription billing.
Components
Admin dashboard for users managing clients and invoices
Client portal for invoice viewing and payment
Authentication and onboarding flow
Invoice and client data models
Dashboard and reporting layer
Stripe subscription and billing integration
Supabase row-level security for account data isolation