SkillAgentSearch skills...

MoBouzer

A cross-platform mobile app for navigating Mauritius via public transport

Install / Use

/learn @danshilm/MoBouzer
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Expo Project Page

MoBouzer

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.

<!-- <a href="" > <img src=".github/images/download_on_the_app_store.svg" alt="Download on the App Store" height='50' /> </a> --> <!-- <a href="" > <img src='.github/images/get_it_on_google_play.png' alt='Get it on Google Play' height='50' /> </a> -->

iOS Preview Android Preview

Screenshots

Soon

Features

  • [x] Shows bus stops throughout the island (currently ~800 bus stops)
  • [x] 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

Project Layout

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 Build
  • apps/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 application
  • apps/website is the website built with NextJS 13 and hosted on Vercel
  • packages/functions contains serverless functions running on GCP related to MoBouzer and the MoBouzer GCP project itself
  • packages/shared holds interfaces/procedures used in both the admin CLI and the mobile app, hence the name (obviously)

Acknowledgements

  • 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 use mauritius-buses.com to travel to unknown areas since one has to estimate when they have reached their destination.

  • This project is tested with BrowserStack.

    <a href="https://www.browserstack.com/"> <img src=".github/images/browserstack-banner.png" alt="BrowserStack Banner" height="50" /> </a>

Related Skills

View on GitHub
GitHub Stars7
CategoryDevelopment
Updated9mo ago
Forks0

Languages

TypeScript

Security Score

82/100

Audited on Jun 11, 2025

No findings