Git Product home page Git Product logo

maxping's Introduction

MaxPing

@maxping_bot sur Telegram @maxping_updates sur Telegram GitHub last commit Repo license

MaxPing trouve les trains maxables avant qu'ils disparaissent !

MaxPing est un robot Telegram qui trace les trains avec des sièges disponibles dans le cadre de l'abonnement MAX Jeune / Senior de la SNCF.

Pour parvenir à ça, le robot contacte l'API Max Planner toutes les 15 minutes pour vérifier la disponibilité des trains enregistrés par les utilisateurs du bot.

Problèmes avec l'application

En cas de problème avec le robot MaxPing, n'hésitez pas à ouvrir un ticket

Envrionnement de développement

Toutes les contributions sont acceptées ! Merci simplement de respecter les règles établies par la configuration ESLint (installer l'extension du même nom sur votre IDE devrait suffir) et d'utiliser Prettier (là aussi fourni par une extension de votre IDE du même nom). Également, merci de respecter la bienséance dans les discussions autour de l'application.

# -- avant tout :
# * Vérifiez que vous respectez les exigences logicielles pour Prisma : https://www.prisma.io/docs/reference/system-requirements
# * Créez un bucket Influx en installant le votre ou en utilisant un hébergé (https://www.influxdata.com/)
# * Créez un robot avec @Botfather (il faut activer le mode inline)
# --

# Insallation rapide de l'environnement de développement
git clone https://github.com/leonekmi/MaxPing.git
cd MaxPing
yarn

# Spécification des variables d'envrionnement
cp .env.example .env
$EDITOR .env

# au choix
yarn build # construire l'application
# - ou -
yarn watch # reconstruire l'application à chaque modification

# Démarrer le robot
yarn start

Source de l'icône : Ad Meskens - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=77507366

maxping's People

Contributors

leonekmi avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

maxping's Issues

Gérer des récurrences

Quel est le problème que votre fonctionnalité résout ?
Les pendulaires ont souvent besoin d'un même train, un par semaine, un par jour, pour l'instant, il faut créer l'alerte à chaque échéance.

Quelle serait la solution à apporter ?
Il faudrait qu'on puisse spécifier une règle de récurrence qui sera renouvelée automatiquement dès que la réservation est ouvert aux clients max jeune/senior.

Itinéraires favoris.

Quel est le problème que votre fonctionnalité résout ?
Il arrive souvent d'avoir des trajets communs, typiquement de sa ville à la capitale et vice-versa.

Quelle serait la solution à apporter ?
L'idée serait de créer un système d'itinéraires favoris, qui pourraient être créés rapidement en spécifiant juste la date.

Suggérer automatiquement des gares d'arrivée

Les gares d'arrivée pourraient être prédites par MaxPing, en se basant sur les fichiers d'open data de la SNCF. En plus du bouton "Chercher une gare", il pourrait y avoir quelques gares suggérés parmi les destinations ayant le plus d'itinéraires.

Proposer des tris sur les listes de train

Quel est le problème que votre fonctionnalité résout ?
Pour l'instant, la liste des trains d'une alerte suit un train selon le moment où ils ont été découvert. C'est pas bien.

Quelle serait la solution à apporter ?
Trier systématiquement par l'horaire de départ, et peut-être proposer par le compte de places disponibles.

Ajout d'un bouton sur le message de création d'alerte permettant d'accéder directement aux trains

Quel est le problème que votre fonctionnalité résout ?
Cela permettrait de gagner du temps lorsqu'on veut voir les trains disponibles sur une alerte qu'on vient de créer, sans avoir à rechercher à nouveau l'alerte.

Quelle serait la solution à apporter ?
Ajouter un bouton sur le message indiquant qu'une alerte a été créé avec succès permettant d'accéder directement à la liste des trains de l'alerte en question.

Proposer de créer automatiquement des alertes pour des itinéraires "intermédiaires"

Quel est le problème que votre fonctionnalité résout ?
Il peut exister des itinéraires où trouver un train max pour le trajet direct peut s'avérer ardu, mais peut être simplifié par l'usage de routes avec correspondance (par exemple, découper un Paris-Lyon avec un TGV Paris-Dijon puis un TGV Dijon-Lyon), on peut aussi imaginer que l'abonné Max veuille utiliser un TER par exemple pour finir son trajet, si une option entièrement TGV ne se libère pas.

Quelle serait la solution à apporter ?
Là encore, avec le GTFS de la SNCF, on pourrait détecter les gares intermédiaires récurrentes de l'itinéraire enregistré et proposer de créer des alertes automatiquement pour des itinéraires entre deux stations intermédiaires pour le même jour.

Alerter sur les itinéraires impossibles.

Quel est le problème que votre fonctionnalité résout ?
Il peut arriver qu'un utilisateur enregistre un trajet qui est théoriquement impossible. Rien ne va alerter l'utilisateur sur ça, alors qu'il a pu par exemple, avoir confondu une gare TGV d'une gare en ville ou avoir fait un misclick.

Quelle serait la solution à apporter ?
En utilisant le GTFS publié par la SNCF, on pourrait vérifier à chaque création d'alerte, si des TGV/Intercités existent et pourraient théoriquement être utilisés. Quand cela arrive, prévenir l'utilisateur du problème et lui proposer de rectifier son alerte.

Auto-confirmer des trains

Quel est le problème que votre fonctionnalité résout ?
Pouvoir automatiquement auto-confirmer des réservations TGVMax

Quelle serait la solution à apporter ?
Sélectionner les trajets que l'on veut auto-confirmer, avoir un message pour prévenir si tout s'est bien déroulé

Pouvoir choisir un train préféré

Quel est le problème que votre fonctionnalité résout ?
Même si on attend des utilisateurs de pouvoir être flexible sur les trains qui deviennent disponibles, on a toujours un train préféré, celui qui rentre le mieux dans notre edt.

Quelle serait la solution à apporter ?
L'idée serait de permettre à l'utilisateur de choisir un train dans la journée qu'il préférerait. Le train serait alors signalé avec une 🌟 dans les listes de trains et les alertes.

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.