XA
Xavier Affringue
En coursFull Stack2026

Davez Pizza

Site vitrine de Davez Pizza, pizzeria artisanale à Davézieux — menu, galerie, contact et avis Google synchronisés.

Davez Pizza

Détails du projet

Statut
En cours
CatégorieFull Stack
Année2026
Type de développementFull Stack
Fonctionnalités
8
Pages développées
5
Technologies utilisées
32
Stack principale
Frontend:Next.js 16 (App Router)+ Tailwind CSS v4
Backend:Node.js+ Next.js Route Handlers
Database:PostgreSQL+ Prisma
Deploy:Vercel

Projet similaire ?

Ce projet vous inspire ? Discutons de votre idée !

Contactez-moi

Vue d'ensemble

Objectifs, défis relevés et statistiques du projet

Objectifs

Offrir à Davez Pizza un site vitrine moderne et performant pour renforcer sa visibilité locale, présenter sa carte et faciliter la prise de contact.

Défis relevés

Mettre en place un système de synchronisation automatique des avis Google Places vers PostgreSQL avec un cache quotidien, évitant les appels API redondants tout en garantissant des données fraîches. Gérer des horaires saisonniers dynamiques (été/hiver) rendus côté serveur à chaque requête sans surcoût client.

32
Technologies
8
Fonctionnalités
2026
Année

Fonctionnalités

Principales fonctionnalités développées dans ce projet

Carte interactive avec onglets par catégorie (pizzas, entrées, desserts, boissons)
Synchronisation automatique des avis Google Places 5★ en base de données
Affichage dynamique des horaires selon la saison (été / hiver)
Formulaire de contact sécurisé avec envoi d'email via Nodemailer
Animations parallax au scroll et transitions fade-up staggerées
Mode sombre / clair avec next-themes
SEO local complet avec métadonnées, Open Graph, sitemap et JSON-LD Restaurant
Galerie photos responsive mobile-first

Stack technique

Technologies et outils utilisés dans ce projet

Frontend

Langage:TypeScript
Frameworks:Next.js 16 (App Router), React 19
Styling:Tailwind CSS v4
UI Libraries:shadcn/ui, Radix UI
Libraries:motion/react, Embla Carousel, react-hook-form, zod, @hookform/resolvers, lucide-react, clsx, tailwind-merge, class-variance-authority, next-themes, next/font/google

Backend

Langage:TypeScript
Runtime:Node.js
Frameworks:Next.js Route Handlers
API Types:REST
Security:Rate limiting IP (in-memory), Validation Zod
Libraries:nodemailer, Google Places API

Base de données

Databases:PostgreSQL
ORM:Prisma

Outils

Tools:ESLint, pnpm, @vercel/analytics, dotenv

Déploiement

Platforms:Vercel

Détails techniques

Solutions techniques mises en œuvre dans ce projet

Synchronisation quotidienne des avis Google Places API → PostgreSQL via Prisma (cache pour éviter les appels redondants)
Horaires saisonniers été/hiver calculés côté serveur à chaque requête grâce à une logique de date pure
Rate limiting IP en mémoire (5 req/min) sur la route API /contact pour protéger contre les abus
Architecture React Server Components (server-first) avec îlots client 'use client' ciblés
JSON-LD schema.org type Restaurant injecté dans le layout pour le référencement local
Animations LazyMotion (motion/react) chargées à la demande pour minimiser le bundle JS