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 🧡.
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.
- 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.
- Add
BRA
andUSA
channels - Create topics/filters for receiving just cities of interest.
Dotted lines indicate non implemented modules
- python version: 3.11
~$ git clone https://github.com/brivadeneira/farecito.git
~$ conda create -n farecito python=3.11
~$ pip install -r requirements.txt
~$ 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/tutorialTELEGRAM_CHAT_ID
: The alert channel chat, (the bot must be admin).
~$ python main.py
~$ 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>
Please, visit the wiki for more details.
Farecito is licensed under the MIT License.