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 ↗


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
- 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
- 02Trois rôles (administrateur, gérant, caissier) dont les changements s'appliquent dès la requête suivante
- 03Isolation de la base dans un projet Supabase partagé, avec des rôles PostgreSQL sans privilège superutilisateur
05 / Points forts
Points forts
- 01Encaissement sans doublon grâce aux transactions sérialisables
- 02Stock suivi par mouvements, rapports et tableau de bord
- 03Rôles administrateur, gérant et caissier
06 / Résultats
Résultats
- 01En production sur kasly.odacestudio.com depuis le 17 octobre 2026
- 02Tests d'intégration sur une base PostgreSQL temporaire et test de bout en bout en production
- 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 →