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
@dukkani/api(apps/api) - API gateway for oRPC, OpenAPI, auth endpoints, and webhooks.@dukkani/dashboard(apps/dashboard) - Merchant dashboard for products, orders, customers, and settings. Follows Feature Sliced Design (FSD) with asrc/shared/layer.@dukkani/storefront(apps/storefront) - Customer storefront and checkout runtime. Follows Feature Sliced Design (FSD) with asrc/shared/layer.@dukkani/web(apps/web) - Public marketing and product website.
@dukkani/auth,@dukkani/common,@dukkani/config@dukkani/core,@dukkani/db,@dukkani/env@dukkani/logger,@dukkani/migrations,@dukkani/orpc@dukkani/storage,@dukkani/tracing,@dukkani/ui,@dukkani/ci-tools
For package-level boundaries and dependency guidance, see .cursor/rules/packages/00-package-index.mdc.
- Canonical project rules live in
.cursor/rules/*.mdc. - Windsurf reads
.windsurfrules, which points to the same canonical.cursor/rulescontent. - Workspace skills are maintained in
.windsurf/skillsand mirrored to.agents/skillsvia symlink. - Naming conventions source of truth:
.cursor/rules/01-naming-conventions.mdc.
Quickstart (full setup guide is in CONTRIBUTING.md):
git clone https://github.com/FindMalek/dukkani.git
cd dukkani
pnpm install
pnpm run bootstrap
pnpm run devLocal app ports:
- Web:
http://localhost:3001 - API:
http://localhost:3002 - Dashboard:
http://localhost:3003 - Storefront:
http://localhost:3004
For environment setup, Docker, seeded data, issue workflow, and PR checklist, see CONTRIBUTING.md.
We welcome contributions from the open-source community. Start from GitHub Issues, pick a scoped task, and follow our contribution workflow.
Please read our Contributing Guidelines before submitting a PR.
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.
