Skip to content
Projet Personnel April 7, 2026

RestoSafe : Food Safety Transparency App

Free mobile and web app to check hygiene inspection results for 207,000+ restaurants in France. Flutter, Laravel, Astro, Go.

Laravel Flutter Astro Go API Rest Redis
RestoSafe : Food Safety Transparency App

The Challenge

Food safety inspection results from the French Ministry of Agriculture (DGAL / Alim'confiance) are public data, but accessing them remains complex and hard to read for the average consumer. No mobile solution existed to browse this data in real time, visualize it on a map, or get alerted when new inspections are published for favorite restaurants.

The challenge was to make this massive dataset (200K+ establishments, 335K+ inspections) accessible, fast, and usable on a daily basis — all without collecting any personal data.

The Solution

I designed and built RestoSafe, a complete multi-service platform:

  • Mobile app : Cross-platform Flutter (iOS & Android) with BLoC state management, Firebase push notifications, Hive local storage, and offline support
  • Website : Astro 5 + React 19 + Tailwind CSS 4, statically generated with interactive React islands for the map, search, and statistics charts
  • Backend API : Laravel 12 with hexagonal / DDD architecture, immutable value objects (Siret, HygieneRating, GeoLocation), PostGIS geospatial search, and Redis caching
  • Sync service : Go 1.22 microservice handling daily DGAL data import with pagination, rate limiting, batch upsert, and Firebase Cloud Messaging push notification dispatch
  • Infrastructure : Containerized via Docker Compose, deployed on VPS with Caddy/FrankenPHP and automatic TLS

The "account-free" approach (device UUID + recovery codes) ensures a smooth, privacy-respecting experience.

Key Features

  • Advanced search by name, city, or postal code with multi-criteria filters
  • Geolocation-based interactive map with color-coded hygiene markers
  • Detailed profiles with full inspection history and integrated Google reviews
  • Favorites with automatic push notifications (no account needed)
  • National statistics dashboard with department-level breakdowns
  • Dark mode and bilingual French/English interface
Share

Technologies used

Laravel Flutter Astro Go API Rest Redis

Visit project

Check out the live project

Open website

Information

Category

Projet Personnel

Creation date

April 7, 2026