05
RETOUR À LA LISTEMy Wish Vault
Consumer Web / Lifestyle
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.
Contexte
Projet personnel / SaaS
~4 mois actifs (déc 2023 – mars 2024)
Solo
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.
Mon rôle
Développeur Full-Stack (solo)
RESPONSABILITÉS
- —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
LIVRABLES
SaaS en ligne avec inscription publique, réservation anonyme et déploiement Vercel
Résultats
- ✓Lancé sur Product Hunt : ~115 votes positifs
- ✓Application en production utilisée par la famille et les amis
ACCOMPLISSEMENTS
- •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
Stack technique
TECHNOLOGIES
Next.jsNestJSReactPrismaNextAuthMonorepoResendUnsplashRadix UI
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
Galerie
Projet similaire en tête ?
Discutons de comment je peux vous aider