← Projets

My Wish Vault

Une SaaS de listes de souhaits construite avec Next.js App Router : créer des listes, ajouter des articles avec prix et images, partager via un lien public, et laisser les visiteurs réserver anonymement pour éviter les cadeaux en double.

Année
2024
Rôle
Développeur Full-Stack (solo)
Durée
~4 mois actifs (déc 2023 – mars 2024)
Équipe
Solo
Liens

Contexte

Construire l'application de listes de souhaits que je voulais utiliser : partage public facile sans obliger les invités à créer un compte, avec réservation anonyme d'articles pour éviter les cadeaux en double.

Ce que j'ai fait

  • Schéma Prisma (7 modèles, UUIDs, règles de cascade, contrainte d'unicité sur Reservation.wishId)
  • Authentification par identifiants NextAuth avec hashage argon2, parcours de vérification d'e-mail et de réinitialisation de mot de passe à base de jetons
  • Tous les CRUD via Server Actions Next.js + next-safe-action + validation Zod
  • Migration du backend NestJS vers Server Actions Next.js en cours de projet
  • E-mails transactionnels Resend, intégration API Unsplash avec l'événement download-trigger conforme

Résultats

  • Lancé sur Product Hunt : ~115 votes positifs
  • Application en production utilisée par la famille et les amis
  • Parcours de réservation anonyme qui n'oblige pas les visiteurs à créer un compte
  • Intégration Unsplash conforme incluant l'événement download-trigger requis

Fonctionnalités clés

  • Listes multiples avec catégories et tri par glisser-déposer
  • Articles avec prix (30 devises), image et URL produit
  • Partage public via code unique avec mode anti-divulgation optionnel pour le propriétaire
  • Réservation anonyme par e-mail, sans compte invité
  • Recherche d'images Unsplash dans les formulaires d'article
  • Vérification d'e-mail et réinitialisation de mot de passe via Resend

Stack

  • Next.js
  • NestJS
  • React
  • Prisma
  • NextAuth
  • Monorepo
  • Resend
  • Unsplash
  • Radix UI