This repo contains my final year project, this project is an Expo app used by commuters to navigate through Accra using Ghanaian's public transport vehicles known as trotro.
# TrotroApp ππ¨
**TrotroApp** is a high-performance React Native application designed for efficient smart city commuting. It provides real-time routing, community-driven updates, and a seamless travel experience for commuters.
## β¨ Features
### π Real-Time Routing & Navigation
- **Dynamic Route Calculation**: Uses OSRM (Open Source Routing Machine) to calculate the best paths for driving, walking, or cycling.
- **Live Location Tracking**: Continuously tracks the user's position to guide them through their journey.
- **Bus Stop Integration**: Automatically finds and displays the nearest bus stops along your route.
### π Ride History & Smart Re-Search
- **Journey Logs**: Automatically saves completed trips with origins, destinations, price estimates, and duration.
- **"Search Again"**: Re-initiate previous searches instantly. The app stores geographic coordinates for historical rides to ensure precise route re-calculation without manual input.
### π Community Notifications & Updates
- **Latest Updates Swiper**: Fixed news items and dynamic community reports displayed directly on the Home screen.
- **Unread Indicators**: Visual "blue dot" notifications for new community posts and news updates.
- **Auto-Expiry**: Community reports are automatically removed after 24 hours to keep information fresh and relevant.
- **Manual Management**: Users can delete their own reports with a confirmation safety check.
## π Performance Optimizations
To ensure a smooth experience even on lower-end devices:
- **Intelligent Caching**: Implemented in-memory caching for OSRM routes and bus stop lookups to minimize API latency and data usage.
- **Adaptive Re-calculation**: The app uses a 200m movement threshold for route refreshes, preventing excessive battery drain and unnecessary API calls.
- **Optimized UI**: Efficient state management and flat list rendering for history and notifications.
## π‘οΈ Security & Privacy
We prioritize a respectful and secure community:
- **Privacy Po β¦