Giftizy est une application web de partage de wishlists entre amis et famille.
L’objectif est de simplifier l’organisation des cadeaux en permettant aux utilisateurs de créer, gérer et partager leurs envies en toute simplicité.
- Framework : Next.js 15.5.4
- UI : React 19.1.0
- Base de données : PostgreSQL
- ORM : Prisma
- Authentification : BetterAuth
- Emails : Nodemailer (vérification de compte & reset password)
- Styling : Tailwind CSS + shadcn/ui
- Notifications : Sonner
git clone https://github.com/ton-compte/giftizy.git
cd giftizypnpm installCrée un fichier .env à la racine avec le contenu suivant :
# Url de l'api
NEXT_PUBLIC_API_URL="http://localhost:3000"
# Base de données
DATABASE_URL="postgresql://USER:PASSWORD@localhost:5432/giftizy"
# Authentification
BETTER_AUTH_SECRET="super-secret-key"
BETTER_AUTH_URL="http://localhost:3000"
# Admins : Les mails dont les comptes seront automatiquement ADMIN
ADMIN_EMAILS="[email protected];[email protected];[email protected]"
# Identification avec Google Auth
GOOGLE_CLIENT_ID="GoogleClientID"
GOOGLE_CLIENT_SECRET="GoogleClientSecret"
# Nodemailer pour l'envoi des mails (app password à configurer, pas le mdp de base)
NODEMAILER_USER="[email protected]"
NODEMAILER_APP_PASSWORD="passwordAPP"npx prisma generatenpx prisma migrate devpnpm devL’application est maintenant accessible sur http://localhost:3000 🎉
.
├── prisma/ # Schéma et migrations Prisma
├── src/
│ ├── app/ # Routes Next.js (App Router)
│ ├── components/ # Composants UI (shadcn, custom)
│ ├── lib/ # Utils (auth, db, mail, helpers)
│ ├── styles/ # Fichiers Tailwind CSS
│ └── hooks/ # Custom React hooks
└── ...
- Vérification de compte : envoi d’un email avec lien ou code à saisir
- Mot de passe oublié : envoi d’un email avec lien de réinitialisation
- Géré via Nodemailer avec un transport SMTP configurable
- Composants accessibles et modernes avec shadcn/ui
- Thème clair/sombre avec Tailwind
- Notifications toast avec Sonner
pnpm dev # Lancer en mode dev
pnpm build # Build de production
pnpm start # Lancer en mode production
pnpm lint # Vérifier le code
Ce projet est distribué sous licence MIT.