EvoMarket
EvoMarket Logo
Saidia Bay accueil
Tous les projets
Web · Immobilier2024saidibay.ma

Saidia Bay

Plateforme immobilière full-stack pour la gestion de biens en location et en vente — tarification saisonnière dynamique, calendrier avancé et CMS admin complet.

2

Modèles de revenus

10+

Tables de BDD

30

Images par bien

2FA

Sécurité admin

Contexte

Saidia Bay est une plateforme immobilière dédiée à la station balnéaire de Saidia, au Maroc. Elle permet à un propriétaire ou une agence de gérer simultanément deux types de transactions : la location saisonnière (réservations calendrier) et la vente de biens (pipeline de leads).

La plateforme gère l'intégralité du parcours client — de la consultation des biens avec carte interactive jusqu'à la confirmation de réservation — tout en offrant à l'administrateur un tableau de bord sécurisé avec analytics, gestion des contenus et suivi des revenus.

Défis techniques

  • Moteur de tarification dynamique avec périodes saisonnières et calcul de coût détaillé à la nuitée
  • Détection des chevauchements de réservations côté serveur avec validation en base de données
  • Double flux métier (location calendrier vs. vente par lead) dans une architecture unifiée
  • Intégration Leaflet pour la localisation géographique de chaque bien immobilier
  • Authentification admin renforcée : OTP 2FA obligatoire + auto-logout par inactivité (5 min)

Architecture

Public Website
Next.js 14 · React 18 · TypeScript · Tailwind CSS · GSAP
Admin Dashboard
Next.js 14 — routes protégées, même application
API Server
Express.js · Node.js · TypeScript
Base de données
PostgreSQL · Prisma ORM
Cartographie
Leaflet + OpenStreetMap — localisation des biens
State Management
Zustand — auth, favoris, comparaison de biens
Éditeur de contenu
TipTap — descriptions riches, embeds YouTube & images
CDN Médias
Cloudinary — jusqu'à 30 images par bien, vidéos
Email
Resend (primaire) + Nodemailer (fallback) — OTP, confirmations
Déploiement
Railway.app + Docker · Netlify (option frontend)

Fonctionnalités clés

Tarification saisonnière

Moteur PricePeriod : tarifs nuitée différents par période (été, Ramadan…). Le total est calculé automatiquement avec décompte détaillé visible par le client.

Calendrier & disponibilités

Validation des chevauchements de réservations en base. Blocage manuel de dates par l'admin (maintenance, réparations) indépendamment des réservations.

Double modèle de revenus

Location (réservations calendrier, flux PENDING → CONFIRMED → COMPLETED) et Vente (pipeline leads NEW → CONTACTÉ → QUALIFIÉ → CONCLU) dans une seule app.

Cartes interactives

Leaflet + OpenStreetMap intégré sur chaque fiche bien. Géolocalisation précise avec latitude/longitude stockées en base.

Pipeline de vente

Demandes d'achat trackées avec statuts, notes internes, capture des coordonnées et alertes email admin à chaque nouveau lead.

CMS homepage complet

Carousel hero géré par l'admin : réorganisation, toggle, CTAs personnalisables, analytics de clics par bannière (visitorId + userId).

Aperçu

Saidia Bay — Page d'accueil
Saidia Bay — Filter de recherche
Saidia Bay — Calendrier & réservation
Saidia Bay — Page de blogs
Saidia Bay — Gestion des réservations

Stack technique

Frontend

Next.js 14React 18TypeScriptTailwind CSSGSAPZustandSwiperLeaflet

Backend

Express.jsNode.jsTypeScriptJWTOTPbcryptjs

Database

PostgreSQLPrisma ORM

Services

CloudinaryResendNodemailerTipTapRechartsRailwayDocker

Un projet similaire en tête ?

Parlons de votre vision et construisons ensemble votre prochaine plateforme digitale.

Démarrer un projet