Le projet Lot'ô car a commencé avec une base de données dans un Google Spreadsheet à plusieurs feuilles gérée manuellement
Cette gestion et le service par-dessus sont chronophages ; notamment trouver des correspondances entre les conducteur.rice.s et les demandes de trajet
Pour cette raison, nous travaillons d'abord à créer des petits outils indépendants qui permettent de libérer du temps à la personne qui fait ce travail manuellement
Le volume de données est encore raisonnable pour que Google Spreadsheet soit utile, donc nous allons continuer à l'utiliser comme base de données principale. Toutefois, l'interface en tableau n'est pas le bon outil pour certaines tâches (notamment la correspondance conducteur.rice.s/trajets). Nous allons donc faire d'autres interfaces par-dessus
Pour commencer, David Bruant, dtc innovation, sera le développeur principale et référent technique du projet pour le moment
Corresplot est une interface utilisateur permettant de faire la correspondance facilement entre un.e conducteur.rice et une demande de trajet dans le Lot
Il y a 2 applis : "outil métier" (plutôt interne à l'équipe Lotocar) et "direct" (plutôt publique pour que les personnes se mettent en relation entre elles). Il y a une partie serveur et une app Heroku par application
Chaque application a son Procfile. On utilise le heroku-buildpack-multi-procfile à cet effet
.env
avec les variables d'environnement:
GOOGLE_API_KEY
: clef d'API créée ci-dessusGOOGLE_DRIVER_SPREADSHEET_ID
: identifiant du Google Spreadsheet qui sert de base de donnéeLOCALISATION_KNOWLEDGE_GOOGLE_SPREADSHEET_ID
: identifiant du Google Spreadsheet qui sert de base de connaissance pour la localisation.env
à la fois dans outil-metier
et dans direct
Pour lancer l'application "trajets direct" : npm run dev
.
Pour lancer l'application "outil métier" : npm run dev:outil-metier
.
Pour faire tourner le serveur de production de ces deux applications.
npm run start # Pour l'applciation "trajets direct"
npm run start:outil-metier
Parfois des communes sont fusionnées ou alors, les personnes habitant quelque part utilisent des noms pour les lieux qui ne sont pas les noms officiels (source gouvernementale) ou utilisée dans les API existantes. Ou alors, elles utilisent des noms raccourcis ambigües (dans le Lot, quand on parle de "Villeneuve", il est évident duquel on parle, alors qu'il existe plusieurs villes en France avec le nom "Villeneuve") Pour ces cas-là, nous mettons en place un Google Spreadsheet qui permet de consigner cette connaissance locale
Ce Google Spreadsheet contient 3 colonnes :
Pour trouver les latitude/longitude, une manière de faire consiste à aller dans Google Maps, viser le lieu que l'on souhaite, faire un clic droit, sélectionner "Plus d'infos sur cet endroit" et en bas de l'écran, on peut voir les latitude/longitude