Karbé — marketplace de location de carbets fluviaux de Guyane
Find a file
Karbé Architect b9bfc5ee32 feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO
Interface propriétaire sous /espace-hote/carbets :
- Liste, création, édition et suppression de carbets (formulaire complet :
  présentation, localisation, accès pirogue, commodités).
- Upload photos/vidéos vers S3/MinIO (route handler multipart), réordonnancement
  et suppression des médias, photo de couverture.
- Statut de publication (brouillon / publié / archivé) avec garde
  « au moins un média avant publication ».

Réutilise le schéma Prisma (SYS-2) et l'authentification NextAuth (SYS-3) :
gating via requireRole([OWNER, ADMIN]) et contrôle de propriété sur chaque
mutation. Stockage objet configurable par variables S3_* (compatible MinIO).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 04:58:12 +00:00
prisma chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
public chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
src feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
.env.example feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
.gitignore chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
AGENTS.md chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
CLAUDE.md chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
eslint.config.mjs chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
LICENSE Initial commit 2026-05-29 03:57:34 +00:00
next.config.ts chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
package-lock.json feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
package.json feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
postcss.config.mjs chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
prisma.config.ts chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
README.md chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00
tsconfig.json chore: scaffold Next.js + Prisma + Tailwind 2026-05-29 04:12:59 +00:00

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

Prérequis

  • Node.js >= 20
  • Une base de données PostgreSQL

Installation

  1. Installer les dépendances :

    npm install
    

    Le script postinstall génère automatiquement le client Prisma dans src/generated/prisma.

  2. Configurer les variables d'environnement :

    cp .env.example .env
    

    Puis renseignez DATABASE_URL (connexion PostgreSQL) et NEXTAUTH_SECRET dans 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