Chlef Delivery
Une place de marché de livraison à quatre rôles pour la wilaya de Chlef : clients, commerces, livreurs et administrateur.



Présentation
Chlef Delivery relie les commerces locaux aux clients et aux livreurs dans les communes de Chlef. Les clients parcourent les commerces par catégorie et distance, remplissent un panier et suivent leur commande ; les commerçants gèrent leur carte et acceptent les commandes ; les livreurs prennent les commandes prêtes et les mènent jusqu’à la livraison ; un administrateur valide commerces et livreurs. Elle est écrite nativement en Kotlin avec Jetpack Compose, en français, anglais et arabe.
Objectifs
- Mettre en ligne les petits commerces sans qu’ils aient besoin d’un site
- Donner à chaque rôle un parcours simple et dédié
- Continuer à fonctionner hors ligne une fois le compte connecté
Fonctionnalités
- Rôles client, commerce, livreur et administrateur, chacun avec sa navigation
- Commerces par catégorie, distance et horaires, favoris et recherche
- Panier avec remarques, commande avec adresses enregistrées, paiement à la livraison
- Cycle de commande : confirmée → en préparation → prête → livreur assigné → récupérée → livrée
- Chronologie de commande, distance et frais de livraison, notifications dans l’application
- Carte (OpenStreetMap) et ouverture de la navigation
- Arabe de droite à gauche, français et anglais ; thèmes clair et sombre
- Synchronisation facultative des comptes entre téléphones (Supabase)
Écrans
Points forts
Design
- Surfaces translucides « verre d’eau » sur un fond photographique doux
- Barres de navigation propres à chaque rôle, avec pastilles pour le panier et les notifications
- Miroir complet en arabe, icônes et puces comprises
Technique
- Application Compose à activité unique avec un dépôt sur Room qui impose les transitions de commande autorisées par rôle
- Mots de passe stockés sous forme d’empreintes salées
- Les écrans de cette page sont rendus à partir du vrai code Compose par un test Robolectric + Roborazzi avec des données de démonstration inventées
Audit du studio
Une application vaste et bien structurée, avec de vrais problèmes de sécurité et de thème. Nous avons corrigé tout ce qui pouvait l’être dans l’application ; un point côté serveur demeure.
Constaté
- L’e-mail et le mot de passe administrateur étaient écrits en dur dans le code
- La vérification de configuration Supabase comparait l’URL à la clé elle-même
- Avec le thème sombre de l’application, le fond restait clair et le texte devenait illisible
- Les comptes synchronisés stockent des empreintes de mot de passe dans une table lisible avec la clé publique
Corrigé
- Le premier administrateur vient désormais de local.properties, jamais du code
- Vérification de configuration corrigée
- Le mode sombre suit le thème de l’application ; couleur du contenu définie explicitement
- Ajout d’un test qui rend 12 écrans pour chaque rôle
Reste à faire
- La synchronisation des comptes doit passer à Supabase Auth avec sécurité au niveau des lignes avant une diffusion publique
Noté sur 10 : fonctionnement, interface, cohérence visuelle, performance, adaptation aux écrans, navigation, architecture, accessibilité, gestion des erreurs et maturité professionnelle.
Démonstration
Une application Android native ne peut pas tourner dans un navigateur. Ces écrans ont été rendus à partir du vrai code Compose (Robolectric + Roborazzi) avec des commerces, produits et commandes inventés ; l’APK a été compilé et vérifié séparément.
Vous voulez quelque chose de ce genre ?
Dites-nous ce que vous construisez. Nous répondrons avec des questions honnêtes, une démarche claire et la prochaine étape.
