A cross-platform mobile app for navigating Mauritius by bus (and soon via the metro too!) based on public transport data and user contributions to OpenStreetMaps.
Soon
- Shows bus stops throughout the island (currently ~800 bus stops)
- Shows bus lines (currently ~5 bus lines)
- Provides directions for walking & bus routes to your destination [in progress]
- Calculates estimated arrival time/travel duration
- Estimates time for buses to arrive at specific bus stops
- Based on fixed schedule
- Based on real time data
- Calculates fare for your trip
This repository is the home of the mobile app as well as all associated services to run and manage the application, in a monorepo structure using PNPM workspaces.
apps/mobile-app
is the React Native app itself made with Expo and built with EAS Buildapps/admin-cli
is a small CLI tool made to manage the data on Firestore (for bus stops & bus lines) that's used in the mobile applicationapps/website
is the website built with NextJS 13 and hosted on Vercelpackages/functions
contains serverless functions running on GCP related to MoBouzer and the MoBouzer GCP project itselfpackages/shared
holds interfaces/procedures used in both the admin CLI and the mobile app, hence the name (obviously)
-
This project wouldn't have been started if I hadn't come across the awesome
mauritius-buses.com
website where people can get routes to their destination and the buses they can take to get there.I personally used that website for years before coming up with the idea for MoBouzer. That was mainly due to the bus stops on
mauritius-buses.com
not being individually visible; bus stops are grouped by stage (a unit of measurement used to calculate the bus fare). Therefore, it is pretty hard to usemauritius-buses.com
to travel to unknown areas since one has to estimate when they have reached their destination. -
This project is tested with BrowserStack.