BananesExport est une entreprise d'exportation de bananes qui aimerait avoir une solution pour gérer son catalogue de commandes.
Une commande de bananes comprend les éléments suivants :
- Un destinataire (nom, adresse, code postal, ville, pays)
- Une date de livraison
- Une quantité de bananes (en kg)
- Un prix
Afin de gérer les commandes, BananesExport a besoin des services suivant :
- Consulter la liste des destinataires
- Consulter la liste des commandes d’un destinataire
- Enregistrer/mettre à jour/supprimer un destinataire
- Enregistrer/mettre à jour/supprimer une commande
Pour la création d’une commande ou d’un destinataire, tous les champs sont obligatoires. De plus, la création d’une commande est soumise aux règles suivantes :
- La date de livraison doit être, au minimum, une semaine dans le futur par rapport à la date du jour.
- La quantité de bananes demandé doit être compris entre 0 et 10 000 et doit être un multiple de 25 (parce qu’une caisse de bananes contient 25kg)
- Le prix sera déterminé automatiquement par le système à partir d’un prix au kilo de 2.50€
Pour la création d’un destinataire, il ne doit pas être possible d’en créer deux parfaitement identique.
- Les services doivent être exposés en REST
- Le développement doit être réalisé en Java ou en Kotlin et compatible avec un jdk 1.11
- Pour la partie stockage des données, le choix est laissé libre (pas besoin de persistance, un stockage en mémoire est suffisant)