Taxinod is an open source platform to find the cheapest taxi routes to a destination in your city.
Built with Python, Django, TypeScript and Angular.
Imagine you arrive in a city like Yaounde where taxis are usually shared Taxi au Cameroun (Wikipedia). Before going somewhere in taxi, you might want to know how much you should pay. Taxinod was created just for that. It tells you how much you should pay to go from one taxi stop to another one.
To search for a route in Taxinod, you need to select the origin and then the destination from the search form in the home page. The app will then list the route(s) between the selected origin and destination, plus how much it cost to go from one to another in taxi. The route(s) are also displayed on the map.
You can checkout the live project here.
Found a bug? A typo? Or do you want to add a taxi route with its price in the database? Then go ahead and create an issue. But please, do check the code of conduct for rules and guidelines, and the CONTRIBUTING.md file for the steps in order to contribute.
This project is built on top of:
The backend and the frontend are all together in this repo, thanks to NX.
Before starting, please make sure you have the following available on your computer:
- Fork this repository.
- In your terminal, clone your fork:
git clone <link to your fork>
- Navigate to the project directory:
cd taxinod
- Install dependencies for the mono repo tooling and the frontend:
yarn install
- Create a Python virtual environment:
python -m venv <virtual env path>
- Activate the virtual env you just created:
source <virtual env path>/bin/activate
- Install python dependencies:
pip install -r requirements/local.txt
- Create a new PostreSQL database using createdb
createdb --username=postgres taxinod
- Setup the environment variables
Create a .env
file at the root of the project with the following environment variables defined in it:
DATABASE_URL=postgres://postgres:<password>@127.0.0.1:5432/taxinod
NX_GOOGLE_MAPS_API_KEY=<your Google Maps API key>