Ethiopia's real-time bus status monitoring platform.
# Ethiopia Real-Time Bus Monitoring Platform 🚌
# የኢትዮጵያ የአውቶብስ ክትትል ስርዓት
A comprehensive real-time bus monitoring and reservation system built with eGovFrame 4.3.0 for Ethiopia's public transportation infrastructure.
## 🌟 Features
### Three Integrated Platforms
#### 1. **Admin Dashboard**
- Real-time monitoring of all buses and routes
- User management (drivers and passengers)
- Revenue and payment tracking
- System statistics and analytics
- Bus and driver assignment management
#### 2. **Passenger Mobile App**
- User registration with OTP verification
- Real-time bus tracking on map
- Seat selection and reservation
- Payment integration (Telebirr/CBE ready)
- Multi-language support (Amharic/English)
- Bus arrival notifications
- Route search and planning
#### 3. **Driver Mobile App**
- Driver authentication
- Real-time GPS location sharing
- Route navigation
- Passenger count management
- Status updates (Active/Break/Offline)
- Trip management
## 🚀 Technology Stack
- **Backend Framework:** eGovFrame 4.3.0 (Korean e-Government Standard Framework)
- **Core:** Spring Boot 2.7.18
- **Security:** Spring Security with JWT Authentication
- **Database:** H2 (In-memory) - easily switchable to PostgreSQL/MySQL
- **ORM:** JPA/Hibernate
- **Real-time:** WebSocket with STOMP protocol
- **Build Tool:** Maven
- **Process Manager:** PM2
- **Maps:** Leaflet.js
- **UI:** Responsive HTML5, CSS3, JavaScript
## 📋 Prerequisites
- Java 17 or higher
- Maven 3.6+
- Node.js 14+ (for PM2)
- Git
## 🛠️ Installation
### 1. Clone the repository
```bash
git clone
github.com
cd Bus_ET
```
### 2. Build the application
```bash
./mvnw clean package
```
### 3. Run the application
#### Option A: Direct Java execution
```bash
java -jar target/egov-bus-0.0.1-SNAPSHOT.jar
```
#### Option B: Using PM2 (Recommended for production)
```bash
npm install -g pm2
pm2 start ecosystem.config.js
```
### 4. Access the platforms
- **Admin Dashboard:**
localhost …