Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

FoodTrack

Localise les food trucks autour de toi, découvre leurs menus et suis leur activité en temps réel.

versionFlutterDartSupabaseLicense

Une expérience rétro, chaleureuse et néo-brutaliste adoucie : stickers, ombres nettes et micro-copies complices.


Aperçu

FoodTrack est une application mobile open source qui connecte les amateurs de street-food aux food trucks. Grâce à une carte interactive, tu peux :

  • Trouver les food trucks autour de toi, en temps réel ;
  • Découvrir leurs menus du jour, leurs horaires et leurs avis ;
  • Suivre leurs positions GPS mises à jour en direct ;
  • Écrire ton avis et signaler les problèmes rencontrés.

Une expérience pensée pour la communauté et pour les food trucks : les propriétaires disposent d'un espace Pro complet pour gérer leur fiche, leur menu et leur position.

screenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshotscreenshot


Fonctionnalités

Pour les utilisateurs

Carte interactiveVisualise les food trucks sur une carte OpenStreetMap avec marqueurs colorés par type de cuisine.
GéolocalisationCentrage automatique sur ta position et flèche indiquant ta direction en temps réel.
Recherche & filtresRecherche par nom, type de cuisine, « ouverts maintenant », près de moi, et tri (pertinence, distance, nom, ouverts en premier).
Fiches détailléesMenu par catégories, horaires hebdomadaires, bio, services et réseau(x) sociaux.
Avis & notesNote les food trucks, laisse un commentaire, édite ou supprime ton avis.
SupportSignale un bug, propose une amélioration ou signale un utilisateur, et suis tes envois.

Pour les propriétaires (Pro)

Création guidéeAssistant en 3 étapes pour créer ta fiche (nom, type de cuisine, logo).
Position GPS en temps réelMets à jour ta position en un clic pour apparaître sur la carte des clients.
Gestion du menuAjoute, modifie, supprime des articles et gère leur disponibilité.
HorairesDéfinis les horaires d'ouverture jour par jour.
Profil proBio, téléphone, service (sur place / à emporter) et liens vers tes réseaux sociaux.

Stack technique

DomaineTechnologie
MobileFlutter + Dart
Carteflutter_map + OpenStreetMap
Géolocalisationgeolocator (position + cap)
Backend & AuthSupabase (Auth + PostgreSQL)
Gestion d'étatProvider
Typographiesgoogle_fonts (Poppins)
Deep linksurl_launcher

Le backend est entièrement géré par Supabase : authentification, base de données PostgreSQL, contraintes métier et RLS (Row Level Security) activées sur toutes les tables. Les migrations SQL sont versionnées dans le dossier supabase/.


Arborescence

foodtruck_app/
├── lib/
│ ├── app/ # Routage & état global de l'application
│ ├── config/ # Configuration (Supabase, etc.)
│ ├── domain/ # Modèles métier (FoodTruck, MenuItem, Review…)
│ ├── screens/ # Écrans (carte, détail, profil, auth, pro, support)
│ ├── services/ # Services (auth, foodtrucks, reviews, reports, pro)
│ ├── theme/ # Direction artistique (couleurs, thème)
│ ├── utils/ # Helpers & formatage
│ └── widgets/ # Composants réutilisables
├── assets/ # Logos & ressources
├── supabase/ # Schéma SQL & migrations (profil, foodtrucks, menu…)
├── img/ # Captures d'écran
├── test/ # Tests
├── pubspec.yaml
└── README.md

Installation & démarrage

Prérequis

  • Flutter SDK (version 3.x)
  • Un projet Supabase configuré (URL + clé anon)

Étapes

# 1. Cloner le dépôt
git clone <url-de-ton-depot>cd foodtruck_app
# 2. Installer les dépendances
flutter pub get
# 3. Configurer Supabase# Renseigne SUPABASE_URL et la clé anon dans lib/config/supabase_config.dart# 4. Appliquer le schéma de base de données# Importe les fichiers de supabase/ dans la console Supabase (SQL Editor)# 5. Lancer l'application
flutter run

Direction artistique

L'interface suit une direction claire et cohérente :

  • Rétro & gourmand — couleurs vintage et typographies marquées (Poppins) ;
  • Néo-brutaliste adouci — angles arrondis, bordures noires épaisses et ombres nettes ;
  • Effet « objet physique » — stickers avec contours noirs prononcés et ombres offset ;
  • Palette signature — crème vintage, rouge ketchup, vert pickle, jaune moutarde.

L'objectif : une UI lisible, performante et pleine de personnalité.


Roadmap

V1 — Les bases qui font plaisir ✅

  • Carte interactive, recherche & filtres
  • Fiche food truck (menu + horaires)

V2 — Construire une communauté ✅

  • Comptes client / pro, authentification & vérification email
  • Avis & notes

V3 — Du « temps réel » qui claque 🔜

  • Mise à jour des positions / événements
  • Notifications push

V4 — Public API & fonctionnalités avancées 🔜

  • Commande
  • Paiement
  • API publique documentée

Contribuer

FoodTrack est open source : tu peux contribuer aux écrans, au backend, aux performances et à la direction artistique.

  • Ouvre une issue pour proposer une fonctionnalité ou signaler un bug ;
  • Crée une pull request avec un résumé clair de tes changements ;
  • Consulte le dossier Markdown/ pour les spécifications détaillées.

Licence

Distribué sous licence MIT — voir le fichier LICENSE.

About

Foodtrack est une application mobile open source fais avec flutter qui sert a repérer les foodtruck partenaire a proximité

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages