Skip to content

Vitalcheffe/opflow

Repository files navigation

πŸ“‹ OpFlow

Lightweight operations platform for small local businesses.
Hotels, restaurants, artisans, salons β€” stop managing on WhatsApp and Excel.


OpFlow is a lightweight operations platform built for small local businesses. It replaces the chaos of WhatsApp groups and Excel spreadsheets with a real, purpose-built tool β€” without the complexity (or price) of enterprise software.


πŸš€ The Story

Small businesses manage everything on WhatsApp groups and Excel sheets. Bookings in one place, contacts in another, follow-ups nowhere. Enterprise tools like Salesforce and HubSpot are overkill β€” too complex, too expensive, too much.

OpFlow gives them exactly what they need: bookings, contacts, follow-ups, messaging, and billing β€” in one clean dashboard. Nothing more, nothing less.


Why OpFlow?

  • Built for small teams: Not enterprise bloat. A salon with 5 employees doesn't need Salesforce.
  • WhatsApp-native thinking: Designed around how small businesses actually communicate β€” quick replies, tags, follow-ups.
  • 3-step onboarding: Business info β†’ Plan β†’ WhatsApp. Done. No 45-minute setup wizard.
  • Real billing: Stripe Checkout + Customer Portal. Not a pricing page that leads to "Contact Sales."
  • Admin panel included: MRR dashboard, user management, and business insights out of the box.
  • Free to start: Generous free tier so you can actually try it before paying.

Features

Feature What It Does
Auth Email/password + Google OAuth via Supabase
Onboarding 3-step setup wizard (business info β†’ plan β†’ WhatsApp)
Dashboard Stats, quick actions, activity feed
Contacts CRM Search, filter by tags, CSV import
Bookings Calendar view, list view, status management
Follow-ups Task management with priorities and due dates
Messaging Inbox Simulated inbox with quick-reply templates
Billing Stripe Checkout + Customer Portal
Admin Panel MRR dashboard, user management

Architecture

opflow/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ (auth)/          # Auth pages (login, register)
β”‚   β”œβ”€β”€ (dashboard)/     # Main app dashboard
β”‚   β”œβ”€β”€ admin/           # Admin panel (MRR, users)
β”‚   β”œβ”€β”€ api/             # API routes
β”‚   β”‚   β”œβ”€β”€ bookings/    # CRUD + calendar
β”‚   β”‚   β”œβ”€β”€ contacts/    # CRM endpoints
β”‚   β”‚   β”œβ”€β”€ followups/   # Task management
β”‚   β”‚   β”œβ”€β”€ messages/    # Inbox API
β”‚   β”‚   β”œβ”€β”€ stripe/      # Billing webhooks
β”‚   β”‚   └── webhooks/    # External integrations
β”‚   β”œβ”€β”€ auth/            # Auth callback handlers
β”‚   └── onboarding/      # Setup wizard
β”œβ”€β”€ components/          # UI components (shadcn/ui)
β”œβ”€β”€ hooks/               # React hooks
β”œβ”€β”€ lib/                 # Utilities, Supabase client, Stripe
β”œβ”€β”€ supabase/            # DB migrations & policies
β”œβ”€β”€ types/               # TypeScript type definitions
└── tests/               # Vitest + Playwright

πŸ› οΈ Tech Stack

Layer Technology
Frontend Next.js 14 (App Router), TypeScript, Tailwind CSS
UI Components shadcn/ui
Backend Next.js API routes + Supabase (Postgres + Auth + Realtime)
Database Supabase Postgres with Row Level Security
Payments Stripe (subscriptions via Checkout + Customer Portal)
Email Resend
Testing Vitest (unit) + Playwright (e2e)
Deployment Vercel

Plans

Plan Price For
Free €0 Trying it out
Pro €29/mo Small teams
Business €79/mo Growing businesses

πŸš€ Quick Start

cd opflow
npm install
cp .env.example .env.local
# Fill in your Supabase, Stripe, and Resend credentials
npm run dev

Environment Variables

# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key

# Stripe
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...

# Email
RESEND_API_KEY=re_...

Database Setup

# Apply Supabase migrations
cd supabase
supabase db push

πŸ”§ Development

# Run dev server
npm run dev

# Run unit tests
npm run test

# Run e2e tests
npx playwright test

# Build for production
npm run build

Deployment

OpFlow deploys to Vercel with zero config:

vercel --prod

Make sure to set all environment variables in your Vercel dashboard and configure your Stripe webhook endpoint to https://your-domain.com/api/stripe/webhooks.


Contributing

Contributions are what make the open-source community such an amazing place!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.


Made with ❀️ and πŸ“‹ by Amine Harch el Korane

OpFlow

About

Lightweight operations platform for small local businesses

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages