Commit graph

27 commits

Author SHA1 Message Date
fcc2749d1d feat(carbet): add lastBookedAt and endpoint 2026-05-30 17:52:41 +00:00
8d36f7008f Avis & notes — SYS-8 (#12)
Closes SYS-8.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-30 15:12:52 +00:00
Karbé Frontend
7515981336 feat(reviews): avis & notes carbet (SYS-8)
- Lib reviews: constants/types (client-safe) + DB helpers (server-only)
- API POST /api/bookings/[bookingId]/review : avis locataire après séjour COMPLETED
- API POST /api/reviews/[reviewId]/response : réponse loueur
- API GET /api/carbets/[carbetId]/reviews : liste + stats agrégées
- Fiche carbet : note moyenne + nombre d'avis + liste avec réponses loueur
- Carte carbet : étoiles + note moyenne + compteur
- /mes-reservations : formulaire d'avis pour les séjours terminés du locataire
2026-05-30 15:08:55 +00:00
f0d6cdf46c Merge pull request 'feat(payment): intégration Stripe' (#11) from feat/payment-stripe into main
Merge PR#11: paiement Stripe
2026-05-30 15:01:11 +00:00
Claude Integration
74f39293cc feat(payment): intégration Stripe (subscription loueur + booking checkout + webhook) 2026-05-30 15:00:21 +00:00
eb398fe3f5 Merge pull request 'Réservation : API bookings + availability (récup workspace Backend)' (#10) from feat/booking into main
Merge PR#10: réservation (booking + availability)
2026-05-30 14:43:48 +00:00
Claude Integration
0de034022a feat(booking): API réservation + availability + lib métier
Récupéré du workspace Backend (3 fichiers, 406 lignes) :
- src/lib/booking.ts : logique métier réservation
- src/app/api/bookings/route.ts : POST/GET bookings
- src/app/api/carbets/[carbetId]/availability/route.ts : calendrier dispo

Le schéma Booking/Availability était déjà dans main.
2026-05-30 14:42:29 +00:00
9f3eda8bb4 Merge pull request 'fix(build): app global-error fallback pour Next 16 prerender' (#9) from fix/sys-12-global-error-v2 into main
Merge fix Next 16 global-error fallback
2026-05-30 10:50:39 +00:00
6985396db5 fix(build): add app global-error fallback for Next 16 prerender 2026-05-30 04:42:21 +00:00
ba0494611b Carbets publics — recherche + fiche SSR (SYS-5) (#8)
Implémente SYS-5 : page /carbets (recherche SSR + filtres river/dates/capacité) et /carbets/[slug] (fiche SSR avec generateMetadata OG/Twitter, galerie, équipements, accès), plus SEO sitewide (robots.ts, sitemap.xml, metadataBase, title.template).

Reviewed-by: Karbé Architect <karbe-architect@cosmolan.fr>
2026-05-29 22:28:29 +00:00
Karbé Architect
c2df6722f2 feat(carbets): public search + carbet detail page (SSR/SEO)
Implémente SYS-5 : la marketplace publique pour découvrir les carbets
fluviaux publiés par les hôtes.

- /carbets : page de recherche server-side avec filtres GET
  (fleuve, dates de séjour, capacité min.), grille de résultats
  avec photo de couverture, fleuve, capacité, durée pirogue
- /carbets/[slug] : fiche carbet SSR
  - generateMetadata (title/description + OpenGraph/Twitter cards)
  - galerie médias (photo couverture + vignettes vidéo/photo)
  - description, équipements (catalogue), accès, coords GPS,
    capacité, prénom de l'hôte
- robots.ts + sitemap.xml (incluant les carbets publiés)
- metadataBase / title.template au niveau du root layout, OG par
  défaut Karbé
- Lien "Découvrir les carbets" sur la home
- Helpers partagés : lib/carbet-search.ts (parse filters + query),
  lib/carbet-public.ts (fetch SSR mémoïsé via React cache),
  lib/format.ts (durée pirogue, troncature, coords)
- Nouvelle variable d'env NEXT_PUBLIC_SITE_URL (canonical/OG/sitemap)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 22:24:25 +00:00
3567eb975b Merge pull request 'CRUD Carbet (propriétaire) + pages connexion/espace-hote' (#7) from feat/owner-carbet-crud into main
Merge PR#7: CRUD Carbet + interface propriétaire
2026-05-29 22:14:58 +00:00
d5d2ad2228 Merge main into feat/owner-carbet-crud (integrate SYS-2 schema + SYS-3 auth)
main now contains the Prisma schema (SYS-2) and NextAuth (SYS-3) that the
owner carbet CRUD depends on. Integrating them so the branch compiles and
the PR is cleanly mergeable.

- package.json: union of S3 SDK (@aws-sdk/client-s3) + auth deps.
- No source conflicts; espace-hote "Gérer mes carbets" link already in main.
- Verified: tsc --noEmit OK, next build OK (all carbet + auth routes compile).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 21:33:57 +00:00
4f0b434f70 Merge pull request 'Auth multi-rôles (NextAuth) — sur base schéma propre' (#6) from feat/auth into main
Merge PR#6: auth multi-rôles NextAuth
2026-05-29 21:26:32 +00:00
Claude Integration
5cb4f8f898 merge main: auth NextAuth sur base schéma propre 2026-05-29 21:20:55 +00:00
b09886529c Merge pull request 'feat: schéma Prisma complet Karbé (SYS-2)' (#5) from feat/schema-prisma into main
Merge PR#5: schéma Prisma complet (fondation MVP)
2026-05-29 20:38:05 +00:00
Claude Integration
175a0e1751 merge main into feat/schema-prisma: schéma complet + README de main 2026-05-29 19:11:54 +00:00
54f406053b feat(prisma): add full Karbé schema and initial migration
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 16:59:35 +00:00
e464b86cb2 chore: scaffold Next.js + Prisma + Tailwind
Initialise le projet Karbé :
- Next.js 16 (App Router, TypeScript) + Tailwind CSS v4 + ESLint
- Prisma avec datasource PostgreSQL, schema minimal et client généré
  dans src/generated/prisma (postinstall: prisma generate)
- Page d'accueil placeholder (titre + mission)
- .env.example (DATABASE_URL, NEXTAUTH_SECRET)
- README avec instructions de setup

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 16:59:11 +00:00
88a7d01d55 feat(auth): add multi-role NextAuth with role guards
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 10:46:54 +00:00
e6a9bb7d64 chore: scaffold Next.js + Prisma + Tailwind
Initialise le projet Karbé :
- Next.js 16 (App Router, TypeScript) + Tailwind CSS v4 + ESLint
- Prisma avec datasource PostgreSQL, schema minimal et client généré
  dans src/generated/prisma (postinstall: prisma generate)
- Page d'accueil placeholder (titre + mission)
- .env.example (DATABASE_URL, NEXTAUTH_SECRET)
- README avec instructions de setup

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 10:45:59 +00:00
ae3f3f00d2 Merge pull request 'docs: README, roadmap produit et doc d'architecture (SYS-10)' (#2) from feat/docs into main 2026-05-29 05:00:32 +00:00
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
f9310c380f docs: README, roadmap produit et doc d'architecture
- README enrichi (présentation Karbé, fonctionnalités, setup dev, env, structure, conventions Git)
- ROADMAP.md : phases MVP -> V2 -> V3
- docs/ARCHITECTURE.md : stack, modèle de données (Prisma) et flux principaux

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 04:42:28 +00:00
9f5cdb6c50 Merge pull request 'Scaffold initial : Next.js + Prisma + Tailwind' (#1) from feat/scaffold into main
Merge PR #1: scaffold initial Karbé
2026-05-29 04:33:16 +00:00
2764137d2b chore: scaffold Next.js + Prisma + Tailwind
Initialise le projet Karbé :
- Next.js 16 (App Router, TypeScript) + Tailwind CSS v4 + ESLint
- Prisma avec datasource PostgreSQL, schema minimal et client généré
  dans src/generated/prisma (postinstall: prisma generate)
- Page d'accueil placeholder (titre + mission)
- .env.example (DATABASE_URL, NEXTAUTH_SECRET)
- README avec instructions de setup

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 04:12:59 +00:00
9fbf95f3cc Initial commit 2026-05-29 03:57:34 +00:00