Logo Lanfrica
  • Accueil
  • Atlas
  • Analyses
  • Documentation
  • Sign in

© 2026 Lanfrica. Tous droits réservés. Tous les droits d'auteur des ressources affichées sur le site Web Lanfrica appartiennent aux détenteurs de droits d'auteur d'origine, sauf indication contraire explicite.

mamadouhadybarry98-dev/businessos-africa

Domaine:

socioeconomicdigital infrastructure

Type de record:

software
Créateur:
mam
Hôte:
# BusinessOS Africa Plateforme de gestion tout-en-un (caisse, stock, multi-magasins, CRM, dettes, services) pour commerçants, grossistes, distributeurs et PME africaines. Multi-tenant, isolation stricte par entreprise au niveau base de données (Row-Level Security), abonnements avec quotas réellement appliqués, paiement Mobile Money/carte via PayTech. ## Stack technique - **Next.js 16** (App Router, React 19, TypeScript, Turbopack) — voir `AGENTS.md` pour les changements par rapport aux versions précédentes de Next.js (proxy.ts remplace middleware.ts, params/searchParams asynchrones, etc.) - **Supabase** : PostgreSQL, Auth (JWT + Custom Access Token Hook), Storage - **Drizzle ORM** : schéma (`drizzle/schema/`) et migrations SQL versionnées (`drizzle/migrations/`) — utilisé pour les migrations uniquement ; toutes les requêtes runtime passent par le client Supabase (PostgREST) pour que la RLS s'applique réellement (voir `src/lib/db.ts`) - **Tailwind CSS v4 + shadcn/ui** (base-ui) — palette bleu marine / turquoise, police Inter - **@react-pdf/renderer** pour les factures PDF (3 modèles au choix, aperçu en direct, QR code + code-barres générés côté serveur via `qrcode`/`bwip-js`) et les rapports (export PDF des dettes) - **exceljs** pour l'export Excel (`.xlsx`) du module Dettes - **PayTech** pour le paiement des abonnements (Mobile Money, carte) ## Démarrage ```bash npm install cp .env.example .env.local # renseigner les clés Supabase + PayTech npm run dev ``` ### Configuration Supabase requise (une fois, dans le dashboard) 1. Créer un projet sur supabase.com, renseigner `.env.local` (clés API + connexions Postgres). 2. `npm run db:migrate` pour appliquer tout `drizzle/migrations/`. 3. **Authentication → Hooks** : activer le hook "Customize Access Token (JWT) Claims", schéma `public`, fonction `custom_access_token_hook`. **Sans cette étape, aucune policy RLS ne fonctionne** — company_id/user_role ne sont pas dans le JWT. 4. **Authentication → Emails → SMTP Sett …

Visit

github.com