Créer un site de liste de cadeau (wishlist) dont le but sera le suivant :
- un utilisateur non connecté peut accéder à une liste de cadeaux qu'un autre utilisateur a partagé via une URL (du type /slug-du-nom-de-la-liste-uuid)
- une liste de cadeau présente un nom, une description, un date limite, une url unique de partage, ainsi qu'un ensemble de cadeaux
- chaque cadeau est composé d'une image, d'un nom, d'une description et d'un prix
- un utilisateur connecté pourra créer et administrer ses propres listes de cadeaux, et ajouter/modifier/supprimer des cadeaux aux listes (chaque cadeau devra être créé de zéro, pas de sélection à partir d'une liste). Chaque liste aura une url unique générée à partir de son nom et de son uuid
- un utilisateur pourra créer un compte avec comme données obligatoires son email (unique), son mot de passe et un pseudonyme. Un champ de présentation sera optionnel.
- le mot de passe devra être encrypté (bcrypt ou argon2), avec au minimum 12 caractères comprenant des majuscules, des minuscules, des chiffres et des caractères spéciaux
- un utilisateur devra se connecter de manière sécurisée avec un JWT (expiration d'une heure). Il utilisera son email pour se connecter (le pseudo ne sert qu'à l'affichage et n'est pas unique).
- un utilisateur connecté pourra modifier son email et son mot de passe (mais pas les deux en même temps).
- un utilisateur connecté pourra "réserver" le cadeau d'une liste. La personne possédant la liste ne saura pas que le cadeau a été réservé, mais les personnes arrivant sur le lien de partage verront quels cadeaux ont été réservés et par qui. Plusieurs personnes peuvent réserver un même cadeau (pour un achat groupé par exemple)