Giter VIP home page Giter VIP logo

betagouv / preuve-covoiturage Goto Github PK

View Code? Open in Web Editor NEW
32.0 7.0 12.0 51.56 MB

Registre de preuve de covoiturage

Home Page: https://app.covoiturage.beta.gouv.fr

License: Apache License 2.0

Dockerfile 0.09% JavaScript 1.75% Shell 0.06% HTML 10.94% TypeScript 69.78% PLpgSQL 6.42% Handlebars 0.02% SCSS 5.60% Gherkin 0.29% Nix 0.02% Python 1.67% Jupyter Notebook 3.25% Just 0.10%
betagouv api covoiturage carpooling

preuve-covoiturage's Introduction

Registre de preuve de covoiturage

Le registre de preuve de covoiturage est un projet beta.gouv.fr qui a pour but de certifier qu'un covoiturage a bien eu lieu. L'objectif de l'outil est d'agir en tant que tiers de confiance entre les différents acteurs du covoiturage (opérateurs, autorités organisatrices de mobilité, entreprises, régions, etc.) pour simplifier la mise en place d'incitations à destination des covoitureuses et covoitureurs. Cette Startup d'État a pour objectif d'aider à réduire l'auto-solisme et l'emprunte écologique des déplacements courts.

Sécurité

Politique de sécurité et contact : SECURITY.md

Services

An easy way to boot the application on your local machine is by using Docker. You will need docker and docker-compose.

Service slug ENV URL Folder
Frontend * - APP_APP_URL http://localhost:4200 /dashboard
API api APP_API_URL http://localhost:8080 /api
Redis redis APP_REDIS_URL redis://redis:6379 -
Postgres postgres APP_POSTGRES_URL postgresql://postgres:post -
Mailhog mailer APP_MAIL_SMTP_URL http://localhost:8025 -
S3 s3 AWS_* http://localhost:9000 -

⚠️ docker-compose.yml is used in local environment only

Installation

  1. Cloner le repo et cd dedans
  2. cp api/.env.example api/.env
  3. Modifier api/.env
  4. docker-compose build
  5. docker-compose run --rm migrator npm run migrate
terminal 1: docker-compose up api
terminal 2: docker-compose up dashboard
# nav to http://localhost:4200

Migrations

// use SKIP_GEO_MIGRATIONS=true to skip geo migrations 
// use SKIP_SQL_MIGRATIONS=true to skip sql migrations

cd api
npm run migrate
// OR
docker-compose run api npm run migrate

Frontend testing

# default browser is Chrome
npm run test
npm run test --browsers ChromeHeadless
CHROME_BIN=$(which chrome) npm run test
CHROME_BIN=$(which chromium) npm run test
CHROME_BIN=$(which brave-browser) npm run test

# requires karma-firefox-launcher (installed)
npm run test --browsers Firefox
Notes
  • You can monitor your development inbox at http://localhost:8025. Emails are usually cleared in the tests.
  • Tests are not stateless yet. You might need to clean up data manually when they crash.

Configuration

Secrets configuration

For all secrets, use the .env file which is NOT COMMITED to Git.

For none secret values configuring the system, commit the ENV vars in docker-compose.yml

For static application configuration (timeout, etc.) edit/add the .ts files in each service config/ folder.

Versions

The project follows the semver specification.

License

DINUM / DGITM / ADEME, 2017-2024

The source code is published under Apache license 2.0.

preuve-covoiturage's People

Contributors

anna-livia avatar betajon1234 avatar datayama38 avatar dependabot[bot] avatar gillesboisson avatar hugobarthelemy avatar jonathanfallon avatar margot-sanchez avatar marsonge avatar mlbiche avatar nicolas-viennot-beta avatar nmrgt avatar p3rceval avatar panayo avatar pnodet avatar samueleyre avatar vincentlaine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

preuve-covoiturage's Issues

Calcul de la distance théorique

Estimation : 16h

Utiliser l'API de OSRM pour récupérer la distance et le temps de trajet théoriques entre 2 points en voiture. Stocker les valeurs théoriques pour pouvoir les comparer avec les valeurs réelles.

DPO, Responsable de traitement, sur AOM ET opérateurs

image

Finalement suite aux conseils judicieux de Thomas il est préférable de le mettre sur les deux.

Permettre de ne voir que les utilisateurs du groupe. Par exemple que le CTO de Blablalines ne puisse pas mettre le CTO de Klaxit.

Définition campagne - pouvoir sélectionner des dates dans le passé

Dans la définition d'une campagne il n'est pas possible de pouvoir sélectionner une date de début d'application dans le passé.
Est-ce un choix technique volontaire, car cela engendrerait de la complexité ? @nmrgt ?
Sinon alors, il est selon moi envisageable qu'une AOM ait un peu de retard et lance une campagne avec quelques jours de retard.

Remplacer filtre INSEE par Nom de commune

Désormais les noms de commune apparaissent dans le tableau et du coup les filtres codes INSEE ne fonctionnent plus.

Remplacer les filtres codes INSEE par nom de commune avec le possibilité de sélectionner plusieurs commune.

Ajouter un champ acronyme AOM

Servira plus tard pour par exemple les attestations et éviter la lecture trop fastidieuse des noms de ComCom.

Exemple : Communauté Agglomération Privas Centre Ardèche = CAPCA

Migration monorepo

Pour simplifier la gestion des issues et du projet en rassemblant le back et le front.

  • Migrer le code vers betagouv/preuve-covoiturage
  • Migrer les issues vers monorepo
  • Mettre à jour les déploiements Scalingo / Netlify
  • Mettre à jour CircleCI
  • Mettre à jour Snyk
  • Supprimer betagouv/preuve-covoiturage-dashboard *
  • Supprimer betagouv/preuve-covoiturage-api *
  • bloquer les push sur les branches dev, staging et master
  • Tester et documenter le passage du clone existant au nouveau pour les devs
  • Mettre la doc à jour
  • Mettre le README d'installation à jour
  • Mettre le .env.example à jour avec des commentaires

* demander à un respo de l'orga betagouv

https://www.atlassian.com/git/tutorials/monorepos
https://scalingo.com/articles/2018/11/30/monorepo.html
https://help.github.com/en/articles/transferring-an-issue-to-another-repository

Refactoring du middleware JWT

Refactoring pour avoir une logique de user OU server dans le même middleware et pouvoir utiliser les même routes.
Possibilité d'accepter user OU server OU les deux.

Amélioration de la précision des statistiques

Améliorer les statistiques Bilan CO2 et Bilan Energie en fonction des éléments proposés ici.

Bilan CO2
+20% en milieu dense urbain, portant la moyenne à 234 g CO2 équivalent par véhicule-kilomètre.
-10% sur les trajets extra-urbain, portant la moyenne à 175 g CO2 équivalent par véhicule-kilomètre.

Bilan énergie
0, 0564 kep / km / véhicule particulier, en milieu dense urbain.
0,0442 kep / km / véhicule particulier sur les trajets extra-urbain.

Pour ce faire la complexité est de définir une liste des CODES INSEE avec appartenance à milieu dense urbain/extra urbain.

Se baser sur ceci : https://www.observatoire-des-territoires.gouv.fr/outils/cartographie-interactive/#bbox=-293810,6170362,1367404,769774&c=indicator&i=insee_rp_hist_1968.dens_pop&s=2016&view=map26

FRONT - Amélioration données opérateur

Plusieurs problèmes :

  • Pas de possibilité d'enregistrer de manière claire.
  • La notification de champs obligatoires brouille la lisibilité ==> marquer comme optionnel le seul champs qui est optionnel. En effet le RNA n'est pas une donnée que l'ensemble des opérateurs a.
  • Pas de lisibilité des différents types de données.

AVANT
image

APRES
image

@samueleyre and @nmrgt

Event Bus Microservices

Questions Léo sur les microservices.
Pas de RabbitMQ pour la communication entre les services.

UX design

Issues #49

Jérémy dispo à partir du 17 avril.

  • Estimer le planning nécessaire et définir le process de la mission

Déployer sur Netlify

Déployer les différentes branches sur Netlify.
Garder la connexion avec CircleCI

Gestion de l'expiration JWT

401 Unauthorized retournée quand le JWT est expiré.
Gérer intelligemment l'expiration du token pour rediriger l'utilisateur sur le signin (ou proposer une modale de connexion avec un timeout)

Passer le referrer dans l'URL lors d'une redirection 401 pour contrôler l'affichage du message.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.