Application mobile · Cadeaux et livraison

Minguili

Le projet

Minguili est une plateforme camerounaise pour offrir une attention à quelqu’un : bouquets de fleurs et d’argent, paniers surprise, soins de beauté à domicile et livraison express. J’ai travaillé sur les trois parties du produit : l’application mobile, l’API qui la fait tourner et le backoffice de l’équipe.

Période
Avril – juin 2025
Mon rôle
Software Engineer : application mobile Expo / React Native, API NestJS et backoffice React.
Résultat
Publiée sur Google Play.

Ce qui compte dans le produit

  • Prix calculés côté serveur

    L’application n’envoie jamais de prix. Le devis officiel vient de l’API, pour un montant final fiable.

  • Connexion sans mot de passe

    Un code à usage unique envoyé par email, valable 10 minutes, avec un nombre d’essais limité.

  • Sessions sécurisées

    Un jeton d’accès de 15 minutes gardé en mémoire, un jeton de renouvellement dans le stockage sécurisé du téléphone, renouvelé à chaque usage.

  • Paiements vérifiés

    Paiements CinetPay : webhook authentifié, statut relu à la source, traitement idempotent.

  • Pensée pour les connexions lentes

    Catalogue en cache persistant, images optimisées et préchargées, session ouverte sans attendre le réseau.

  • Deux langues

    Français par défaut, anglais disponible, mouvement réduit respecté.

Trois parties, un produit

  1. Application mobile

    Expo et React Native pour Android et iOS : boutiques Surprise, Beauty et Express, historique des commandes et espace livreur.

    • Expo
    • TypeScript
    • React
  2. API

    NestJS et PostgreSQL, sécurisée par défaut (rôles, validation, limitation de débit), documentée avec Swagger et déployée sur Vercel.

    • NestJS
    • PostgreSQL
    • TypeScript
    • Vercel
  3. Backoffice

    Tableau de bord React et Tailwind pour les administrateurs : commandes, catalogue, utilisateurs. Environ 80 Ko de JavaScript au premier chargement.

    • React
    • Tailwind CSS
    • TypeScript
    • Vercel

L’application

Écrans de l’application publiée.

  • Minguili, 1/9
  • Minguili, 2/9
  • Minguili, 3/9
  • Minguili, 4/9
  • Minguili, 5/9
  • Minguili, 6/9
  • Minguili, 7/9
  • Minguili, 8/9
  • Minguili, 9/9