Zippi is a full-stack delivery and business operations platform that powers every touchpoint of the delivery lifecycle — from a customer placing an order through WhatsApp or the web app, to a kitchen receiving a comanda, a courier completing a delivery, and a business owner reviewing settlements. The platform is organized into distinct portals for each of its 16 roles, all backed by a shared Flask API with strict multi-tenant scoping.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/CRISTIANCAMACH34/Zippi/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Get the backend and frontend running locally in minutes
Architecture
Understand the monorepo structure, tech stack, and service boundaries
Roles & Portals
Explore the 16 roles and the portal each one accesses
API Reference
Browse every endpoint with parameters and response shapes
What Zippi Does
Zippi serves multiple audiences simultaneously through a single platform:Customer App
Marketplace browsing, cart, checkout, and order tracking for end customers
Business Portal
Dashboard, catalog, orders, branches, and settlements for business owners
Admin Console
City-level operations, dispatch, fleet, and financial oversight for operators
Kitchen Display
Real-time comanda queue with priority and timers for kitchen staff
Cashier Terminal
Shift management, payment reconciliation, and drawer close for cashiers
Courier App
Delivery assignments, evidence upload, and incident reporting for drivers
Key Features
16-Role RBAC
Fine-grained action-level permissions — roles control not just modules but individual catalog edits, order transitions, and cashier actions
Multi-Tenant Scoping
Every query is filtered at the database level across a hierarchy from global down to individual business branches
Order State Machine
13-state FSM covering the full delivery lifecycle with exception states, audit on every transition, and per-role transition rules
Integrations
WhatsApp bot ordering, Wompi payment gateway, S3 storage, Redis/Celery background jobs, and structured audit logging
Getting Started
Clone the repository and configure environment variables
Copy
backend/.env.example to backend/.env and fill in your database URL, JWT secrets, and optional integration keys.Start the backend
Create a virtual environment, install dependencies, run migrations, and start the Flask dev server on port 5000.
Start the frontend
Install Node dependencies and start the Vite dev server on port 5174. Set
VITE_API_URL to point at the backend.