Enable every small and medium Tunisian business to sell online, easily and professionally.
Enable every small and medium Tunisian business to sell online, easily and professionally. We want to make launching an online store as simple as creating an Instagram account — no coding, no complexity, no barriers.
Most Tunisian and North African merchants still rely on physical stores and social media (like Instagram or Facebook) for sales. They lack easy access to affordable e-commerce tools that integrate with local delivery systems and payment gateways. Shopify and WooCommerce are too complicated or expensive for most.
A localized SaaS platform that helps businesses:
- Create a beautiful online store in minutes (with AI-assisted setup)
- Accept payments through local gateways (e.g., D17, Flouci, E-Dinar)
- Manage inventory, delivery, and orders all in one dashboard
- Offer multilingual experiences (Arabic, French, English)
- Seamlessly sync with Instagram or WhatsApp for quick sharing
- Small to medium local stores
- Artisan brands and clothing shops
- Food delivery or grocery shops
- Local resellers and social sellers (Instagram / Facebook merchants)
To become the Shopify of North Africa — starting with Tunisia, then scaling across Francophone and Arabic-speaking markets with localized infrastructure.
- 🛍️ Instant Store Setup Wizard - Get your store online in minutes
- 🗺️ Delivery Partner Integration - Connect with local delivery services
- 🌐 Multi-language Support - Arabic, French, and English
- 📱 Mobile-First Design - Beautiful, responsive store templates
- 📦 Inventory & Order Management - Complete e-commerce solution
- 📊 Sales Analytics Dashboard - Track your business performance
- 🤖 AI-Powered Features - Product descriptions & SEO (coming soon)
This project is built with modern, type-safe technologies:
- Framework: Next.js (App Router) - Full-stack React framework
- Language: TypeScript - Type safety throughout
- Database: PostgreSQL with Prisma ORM
- API: oRPC - End-to-end type-safe APIs with OpenAPI
- Authentication: Better Auth - Modern auth solution
- UI: shadcn/ui + Tailwind CSS
- Monorepo: Turborepo - Optimized build system
- Code Quality: Biome - Fast linting and formatting
- PWA: Progressive Web App support
- Clone the repository
git clone https://github.com/FindMalek/dukkani.git
cd dukkani- Install dependencies
pnpm install- Set up environment variables
Create a .env file at the root of the project:
# Database (required)
DATABASE_URL="postgresql://postgres:password@localhost:5432/dukkani"
# CORS Origin (required for auth)
NEXT_PUBLIC_API_URL="http://localhost:3002"- Set up the database
pnpm run db:setupThis will:
- Start the PostgreSQL database container
- Push the Prisma schema to create all tables
- Seed the database (optional)
pnpm run db:seedThis creates default users and sample data for development. See Database Package README for details.
- Start the development server
- Web (3001): http://localhost:3001 - Marketing/landing site
- API (3002): http://localhost:3002 - Backend API
- Dashboard (3003): http://localhost:3003 - Merchant dashboard
- Storefront (3004): http://localhost:3004 - Customer-facing store (where shoppers browse and buy)
# Development
pnpm run dev # Start all apps
pnpm run dev:api # Start API only
pnpm run dev:dashboard # Start Dashboard only
pnpm run dev:web # Start marketing site
pnpm run dev:storefront # Start storefront (customer store)
pnpm run dev:all # Start API + Dashboard + Storefront
# Database
pnpm run db:studio # Open Prisma Studio
pnpm run db:push # Push schema changes
pnpm run db:seed # Seed database
pnpm run db:reset-and-seed # Reset and seed
# Code Quality
pnpm run check # Lint and format
pnpm run check-types # Type check all packages
pnpm run build # Build all packagesWe welcome contributions from the open-source community! Our GitHub Issues are organized as tasks — pick any issue labeled good first issue, help wanted, or bug and start contributing.
Please read our Contributing Guidelines before submitting a PR.
- Browse open issues — each issue is a task you can pick up
- Comment on an issue you'd like to work on (so we avoid duplicate work)
- Fork & create a branch following our Contributing Guidelines
- Submit a PR — we'll review and merge!
For detailed guidelines on development setup, code style, and PR process, see CONTRIBUTING.md.
We love our contributors! See CONTRIBUTING.md to learn how you can contribute.
This project is licensed under a Business Source License (BSL).
Commercial Use Restrictions: This software may not be used for commercial purposes or financial gain without explicit written permission from the copyright holder. For commercial licensing inquiries, please contact the project maintainers.
Non-Commercial Use: You are free to view, modify, and use this software for non-commercial purposes, including personal projects, learning, and contributing to the open-source community.
See LICENSE for full details.
