Skip to content

Latest commit

 

History

History
82 lines (60 loc) · 2.87 KB

README.md

File metadata and controls

82 lines (60 loc) · 2.87 KB

channel icon License: MIT Open Source Love svg1

forthebadge made-with-python ForTheBadge built-with-love

farecito 🚌

farecito (/faɾeˈθito/) helps travelers to find cheap FlixBus trips.

The project name is a combination of the English word "fare" and the Spanish diminutive "cito."

It is built with free software and open source technologies 🧡.

Introduction

Farecito is a project that allows users to find cheap FlixBus trips between popular cities. It gets all cities and connections from flixbus.com, including USA, Brasil and Europe.

"Mochilero" reference

Features

  • Scrapes data from flixbus.com for all bus routes.
  • Builds a corresponding graph in a neo4j database instance.
  • Periodically captures snapshots of prices with high discounts (50% off) for popular cities.
  • Sends cheap ticket alerts through a Telegram channel.

TODO

  • Add BRA and USA channels
  • Create topics/filters for receiving just cities of interest.

General structure

Dotted lines indicate non implemented modules

Installation and usage

  • python version: 3.11
~$ git clone https://github.com/brivadeneira/farecito.git
~$ conda create -n farecito python=3.11
~$ pip install -r requirements.txt

.env variables

~$ mv .env.example .env
~$ nano .env

fill the env values:

  • Aura Instance's credentials: it must be downloaded when creating the instance.
    • NEO4J_URI
    • NEO4J_USERNAME
    • NEO4J_PASSWORD
    • AURA_INSTANCEID
    • AURA_INSTANCENAME
  • TELEGRAM_BOT_TOKEN: Got when creating a telegram bot, according to: https://core.telegram.org/bots/tutorial
  • TELEGRAM_CHAT_ID: The alert channel chat, (the bot must be admin).
~$ python main.py

Testing

~$ pip install -r dev-requirements.txt
~$ pytest -v
~$ # run a specific test
~$ pytest tests/<path to test_file>/test_<name of file>.py::<NameOfTestClass>::test_<name_of_test>

Doc

Please, visit the wiki for more details.

License

Farecito is licensed under the MIT License.