# Panga Safari UI 🚌
A modern Next.js frontend application for Tanzania's public transportation navigation system. This application provides an intuitive interface for planning trips, finding routes, and managing transportation data.
---
## 📋 Table of Contents
- Overview
- Features
- Quick Start
- Configuration
- Project Structure
- API Integration
- Development
- Building for Production
- Troubleshooting
---
## 🎯 Overview
Panga Safari UI is the frontend application that connects to the Panga Safari API backend. It provides:
- ✅ **Trip Planning** - Find routes between stops or GPS coordinates
- ✅ **User Authentication** - JWT-based auth with email OTP verification
- ✅ **Nearby Stops** - GPS-based stop finder
- ✅ **Route Details** - View detailed route information
- ✅ **Data Contribution** - Users can contribute transport data
- ✅ **Multi-language** - English and Swahili support
- ✅ **Responsive Design** - Works on mobile and desktop
- ✅ **Dark Mode** - Theme support
---
## ✨ Features
### Core Features
1. **Trip Planning**
- Search routes by stop names
- GPS coordinate-based planning
- Multiple journey options
- Fare calculation
- Transfer information
- **10 free trips per day for unauthenticated users**
- Unlimited trips for registered users
2. **Authentication**
- User registration with email verification
- OTP-based email verification
- JWT token management
- Profile management
- Password change
- Optional (users can use app without registration)
3. **Transport Data**
- Nearby stops finder (GPS-based)
- Route details
- Stop information
- Transport modes (Daladala, BRT, Ferry, Train)
- Real-time location services
4. **User Experience**
- Multi-language support (English/Swahili)
- Dark mode
- **Fully responsive design (mobile & laptop)**
- Toast notifications
- Loading states
- Error handling
- Rate limit tracking and display
---
## 🚀 Quick Start
### Prerequisites
- Node.js 18+ and npm/pnpm/yarn
- Backend API running (see Panga Safari API)
### Ins …