Files
Ontime/TEST_APP.md
2026-03-11 15:29:37 +07:00

70 lines
2.3 KiB
Markdown

# Testing OnTime Apps
## Backend API (test endpoint)
**Base URL:** `https://apitest.semestaterpadu.my.id/`
- **Health check:** `GET https://apitest.semestaterpadu.my.id/api/notification`
Expected: `{"message":"Notification API ready"}`
- **FCM send:** `POST https://apitest.semestaterpadu.my.id/api/notification/send_generic`
Body: `{"target":"<fcm_token>","is_topic":false,"data":{...}}`
Backend notification API is reachable at the test endpoint.
---
## Android apps (User & Driver)
### Prerequisites
- **JDK 17+** (project uses Gradle 8.x / AGP 8.5)
- **Android SDK** (API 33; build-tools, platform-tools)
- **Android device or emulator** (for install/run)
- Optional: **Android Studio** (simplest: open project → Run)
### Build from command line
```bash
# User app
cd OnTime_User_live
./gradlew assembleDebug
# Driver app
cd OnTime_Driver_live
./gradlew assembleDebug
```
Debug APK output:
- User: `OnTime_User_live/app/build/outputs/apk/debug/app-debug.apk`
- Driver: `OnTime_Driver_live/app/build/outputs/apk/debug/app-debug.apk`
### Install and run on device/emulator
```bash
# Ensure one device/emulator is connected: adb devices
# User app
cd OnTime_User_live && ./gradlew installDebug
# Driver app
cd OnTime_Driver_live && ./gradlew installDebug
```
Or in Android Studio: open `OnTime_User_live` or `OnTime_Driver_live` → Run (▶).
### User app signing (debug)
User app uses a debug keystore: `OnTime_User_live/app/ontimekeystore.jks`.
If the file is missing, either add it or in `app/build.gradle` point `storeFile` to your own debug keystore (or use the default debug keystore by removing/commenting the `signingConfigs` block for debug).
---
## Quick flow to test ordering
1. **Backend:** Confirm `https://apitest.semestaterpadu.my.id/api/notification` returns `Notification API ready`.
2. **User app:** Login → choose fitur → set jemput & tujuan → set payment → Order. App will call backend and send FCM to drivers.
3. **Driver app:** Login (driver account). When an order is sent, FCM opens NewOrderActivity → Accept (or auto-accept). User app should switch to ProgressActivity.
4. **Driver:** In OrderFragment tap Start, then Finish (sampai tujuan). User app ProgressActivity should show “driver start” then “finish/tiba di tujuan”.
Use the same backend (apitest.semestaterpadu.my.id) for both apps so FCM and API stay consistent.