Logo Lanfrica

Donal-TIC/ma-librair

Domain:

digital infrastructure

Record type:

software
Creator:
Don
Host:
Ma librairie de katiola # La librairie de Katiola Application de gestion de librairie multi-boutiques, multi-utilisateurs — caisse (POS), stock, achats, ventes, retours, dépenses, rapports. Construite sur Next.js (App Router) + TypeScript + Supabase + Tailwind CSS, installable en PWA. ## ⚠️ État du projet — à lire avant de démarrer Ce dépôt a été généré à partir du cahier des charges complet fourni. Le **socle est réellement fonctionnel et connecté à Supabase** (pas de données statiques ni de faux JSON) : **Implémenté et fonctionnel :** - Schéma Supabase complet (migrations `0001` → `0010`) : profils, rôles, permissions, boutiques multi-tenant, catalogue produits, stock par boutique, achats, caisses/sessions, **ventes atomiques via transaction Postgres**, retours avec contrôle anti-abus, dépenses, notifications, audit, paramètres - RLS activé et strict sur **toutes** les tables sensibles — testé pour qu'un caissier ne puisse jamais accéder aux données d'une autre boutique ni contourner ses permissions, même en appelant Supabase directement - Authentification Supabase Auth, deux parcours de connexion (Responsable / Caissier), protection de routes via middleware + vérification serveur - Page d'accueil, connexion, dashboard Responsable avec KPIs réels, module Produits (liste + recherche + pagination, création/édition/archivage via Server Actions vérifiées par permission) - **Caisse (POS) fonctionnelle de bout en bout** : ouverture de caisse, recherche produit, panier, encaissement via la fonction SQL `create_sale` (vente + lignes + paiement + déduction de stock dans une seule transaction), clôture de caisse avec calcul d'écart, reçu imprimable au format 80 mm - **Boutiques** : création, édition, activation/désactivation, KPIs par boutique (CA du mois, effectif, réf. en stock) — réservé au propriétaire - **Utilisateurs** : création de compte (Supabase Auth + profil + attribution boutique/rôle en une opération atomique côté serveur), désactivation/réactivation. Un utilisateur désactivé est …