2.1 KiB
2.1 KiB
Karbé
Karbé — marketplace de location de carbets fluviaux de Guyane.
Connecter voyageurs et hôtes pour des séjours authentiques le long des fleuves de Guyane, au cœur de la forêt amazonienne.
Stack
- Next.js 16 (App Router, TypeScript)
- Tailwind CSS v4
- Prisma (datasource PostgreSQL)
Prérequis
- Node.js >= 20
- Une base de données PostgreSQL
Installation
-
Installer les dépendances :
npm installLe script
postinstallgénère automatiquement le client Prisma danssrc/generated/prisma. -
Configurer les variables d'environnement :
cp .env.example .envPuis renseignez
DATABASE_URL(connexion PostgreSQL) etNEXTAUTH_SECRETdans le fichier.env.
Développement
npm run dev
L'application est disponible sur http://localhost:3000.
Base de données (Prisma)
Le schéma vit dans prisma/schema.prisma (volontairement minimal pour le
moment, les modèles seront ajoutés au fur et à mesure).
# Régénérer le client après une modification du schéma
npx prisma generate
# Créer / appliquer une migration en développement
npx prisma migrate dev
Scripts
| Script | Description |
|---|---|
npm run dev |
Démarre le serveur de développement |
npm run build |
Build de production |
npm run start |
Démarre le serveur de production |
npm run lint |
Lance ESLint |
Authentification multi-rôles (NextAuth)
Implémentation de base disponible avec NextAuth (Credentials):
- Route d'auth:
/api/auth/[...nextauth] - Page de connexion:
/connexion - Contrôle d'accès par rôle côté serveur via
requireRole() - Exemples de pages protégées:
/admin(ADMIN)/espace-hote(OWNER ou ADMIN)
Variables d'environnement à définir:
DATABASE_URLNEXTAUTH_SECRET(compatibilité)AUTH_SECRET(recommandé)