Skip to content

Periicles/petfriendlylocator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

208 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pet Friendly Locator — Bordeaux

English version

Application web communautaire pour découvrir et partager les lieux pet-friendly de la région bordelaise : carte interactive, ajout de lieux, profils utilisateurs, avis et modération.

CI/CD Node Next.js


Stack technique

Couche Technologie
Framework Next.js 16 (App Router, Turbopack)
Langage TypeScript 6
Frontend React 19, Tailwind CSS 4, shadcn/ui (base-ui, lucide)
Carte Mapbox GL JS 3
Auth Auth.js v5 (NextAuth, Credentials + JWT)
ORM Prisma 7 + @prisma/adapter-pg
Base de données PostgreSQL 16 (Prisma Postgres)
Tests Jest 30, React Testing Library
Conteneurisation Docker, publication automatique sur GHCR
CI/CD GitHub Actions (lint + gitleaks + typecheck/build/test)

Fonctionnalités

  • Carte interactive des lieux pet-friendly autour de Bordeaux
  • Recherche et barre latérale listant les lieux
  • Ajout de lieux via formulaire flottant (utilisateur connecté)
  • Profil utilisateur : édition des infos, liste des lieux soumis, liste des avis laissés
  • Système d'avis : notation + commentaire par lieu
  • Espace admin (rôle ADMIN) : modération des lieux et avis
  • Authentification par e-mail / mot de passe (NextAuth + bcrypt)

Démarrage rapide

Prérequis

  • Node.js ≥ 24
  • Docker & Docker Compose (option recommandée pour la base)
  • Un token public Mapbox (créer un compte)

1. Cloner et configurer

git clone https://github.com/Periicles/petfriendlylocator.git
cd petfriendlylocator
cp .env.example .env

Renseigne ensuite les variables dans .env — voir .env.example pour la liste complète (Postgres, DATABASE_URL, AUTH_SECRET, NEXT_PUBLIC_MAPBOX_TOKEN).

2A. Lancer avec Docker (recommandé)

docker compose up --build

L'application est disponible sur http://localhost:3000, la base PostgreSQL sur le port 5432.

2B. Lancer en local

npm install
npm run generate   # prisma generate
npm run migrate    # prisma migrate dev
npm run dev

Scripts npm

Script Description
npm run dev Serveur de dev Next.js (Turbopack)
npm run build Build de production
npm start Lance le build de production
npm run lint / lint:fix ESLint (zéro warning toléré en CI)
npm run generate prisma generate
npm run migrate prisma migrate dev --name init
npm run seed Compile et exécute prisma/seed.ts
npm test Lance Jest (21 suites, 160 tests)
npm run clean Supprime node_modules, .next, dist, prisma/migrations

Documentation

  • Architecture — arborescence, flux d'auth, modèle de données, CI/CD
  • API — référence complète des routes REST
  • Tests — configuration Jest dual-environment, couverture
  • Contribuer — workflow git, conventions, checks locaux
  • Changelog — historique des versions

Licence

Projet open source. Voir le fichier LICENSE (à venir).

About

Pet Friendly Locator

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages