Aller au contenu principal
Elimane BADéveloppeur
FREN
← ProjetsÉtude de cas 03 / 11

03

Kasly

Logiciel de caisse

Logiciel de caisse (POS) pour boutique : encaissement, stock, ventes et rapports. En production depuis octobre 2026.

Rôle
Développeur backend
Disciplines
Web / Backend
Stack
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • NextAuth
  • PostgreSQL
  • Supabase
  • Prisma
  • Zod
  • Vercel
Liens
Voir l'application ↗
Tableau de bord de Kasly : ventes du jour, état du stock et ventes récentes
KaslyFig. 01
Kasly — visuel 2
KaslyFig. 02

01 / Le problème

Une boutique a besoin d'encaisser vite, de suivre son stock en temps réel et de savoir ce qu'elle vend, sans qu'une erreur réseau ou un double clic ne crée de vente en double.

02 / La solution

Une application de caisse complète : encaissement, catalogue de produits et catégories, mouvements de stock (entrée, sortie, ajustement, vente, retour), historique des ventes, tableau de bord et rapports, gestion des utilisateurs et des réglages de la boutique. Paiements en espèces, Wave, Orange Money, carte ou mixte.

03 / Architecture

Architecture

Next.js (App Router), React, TypeScript et Tailwind CSS pour l'interface et les API ; NextAuth (identifiant, mot de passe bcrypt, sessions JWT) ; PostgreSQL sur Supabase via Prisma ; validation Zod ; hébergement Vercel. Les tables vivent dans un schéma privé avec deux rôles PostgreSQL limités et la sécurité au niveau des lignes (RLS), sans accès pour l'API publique de Supabase.

04 / Défis techniques

Défis techniques

  1. 01Ventes en transactions sérialisables : une même référence d'encaissement ne crée qu'une seule vente, même en cas de nouvel essai
  2. 02Trois rôles (administrateur, gérant, caissier) dont les changements s'appliquent dès la requête suivante
  3. 03Isolation de la base dans un projet Supabase partagé, avec des rôles PostgreSQL sans privilège superutilisateur

05 / Points forts

Points forts

  1. 01Encaissement sans doublon grâce aux transactions sérialisables
  2. 02Stock suivi par mouvements, rapports et tableau de bord
  3. 03Rôles administrateur, gérant et caissier

06 / Résultats

Résultats

  1. 01En production sur kasly.odacestudio.com depuis le 17 octobre 2026
  2. 02Tests d'intégration sur une base PostgreSQL temporaire et test de bout en bout en production
  3. 03Identité visuelle de la marque conçue en parallèle : logo, palette et icône d'app

Leçon apprise

« Sur une caisse, la fiabilité d'une vente compte plus que tout le reste : garantir qu'un encaissement ne soit jamais enregistré deux fois a structuré toute la couche de données. »

Projet suivant04

APROSI Tickets →

Un projet similaire en tête ?

Me contacter →