Modern ERP Reports Application with microservices architecture Tech Stack: - Backend: FastAPI + python-oracledb (Oracle DB integration) - Frontend: Vue.js 3 + PrimeVue + Vite - Telegram Bot: python-telegram-bot + SQLite - Infrastructure: Shared database pool, JWT authentication, SSH tunnel Features: - FastAPI backend with async Oracle connection pool - Vue.js 3 responsive frontend with PrimeVue components - Telegram bot alternative interface - Microservices architecture with shared components - Complete deployment support (Linux Docker + Windows IIS) - Comprehensive testing (Playwright E2E + pytest) Repository Structure: - reports-app/ - Main application (backend, frontend, telegram-bot) - shared/ - Shared components (database pool, auth, utils) - deployment/ - Deployment scripts (Linux & Windows) - docs/ - Project documentation - security/ - Security scanning and git hooks
232 lines
5.1 KiB
Markdown
232 lines
5.1 KiB
Markdown
# Android Testing - Quick Start (5 Minutes)
|
|
|
|
Ghid rapid pentru testarea ROA2WEB pe telefon Android real prin ADB WiFi.
|
|
|
|
## Prerequisites
|
|
|
|
- Windows 10/11
|
|
- Android phone (Android 10+)
|
|
- Phone and computer on same WiFi network
|
|
|
|
---
|
|
|
|
## Step 1: Install ADB on Windows (2 min)
|
|
|
|
**Windows PowerShell:**
|
|
|
|
```powershell
|
|
# Install ADB Platform Tools
|
|
winget install Google.PlatformTools
|
|
|
|
# Verify installation
|
|
adb version
|
|
```
|
|
|
|
---
|
|
|
|
## Step 2: Enable Wireless Debugging on Phone (1 min)
|
|
|
|
**On Android phone:**
|
|
|
|
```
|
|
Settings -> About phone -> Tap "Build number" 7 times
|
|
Settings -> Developer options -> Enable "USB debugging"
|
|
Settings -> Developer options -> Enable "Wireless debugging"
|
|
```
|
|
|
|
---
|
|
|
|
## Step 3: Connect Phone via WiFi (1 min)
|
|
|
|
**On phone:**
|
|
```
|
|
Settings -> Developer options -> Wireless debugging -> "Pair device with pairing code"
|
|
```
|
|
|
|
You'll see:
|
|
- **Pairing code:** 6 digits (e.g., 123456)
|
|
- **IP & Port:** e.g., 10.0.20.114:37639
|
|
|
|
**In Windows PowerShell:**
|
|
|
|
```powershell
|
|
# Pair (first time only)
|
|
adb pair 10.0.20.114:37639
|
|
# Enter the 6-digit code when prompted
|
|
|
|
# After pairing, check the MAIN port in "Wireless debugging" screen
|
|
# It's different from pairing port!
|
|
|
|
# Connect (use the wireless debugging port, NOT pairing port)
|
|
adb connect 10.0.20.114:XXXXX
|
|
|
|
# Verify
|
|
adb devices
|
|
# Should see: 10.0.20.114:XXXXX device
|
|
```
|
|
|
|
---
|
|
|
|
## Step 4: Setup Port Forwarding (1 min)
|
|
|
|
**Windows PowerShell (Administrator):**
|
|
|
|
```powershell
|
|
# A) ADB port forwarding (Chrome DevTools)
|
|
adb forward tcp:9222 localabstract:chrome_devtools_remote
|
|
|
|
# B) Windows port proxy (for WSL/MCP access)
|
|
netsh interface portproxy add v4tov4 listenport=9222 listenaddress=0.0.0.0 connectport=9222 connectaddress=127.0.0.1
|
|
|
|
# C) Firewall rule
|
|
New-NetFirewallRule -DisplayName "Chrome-DevTools-Android" -Direction Inbound -LocalPort 9222 -Protocol TCP -Action Allow
|
|
|
|
# D) Port forwarding for app access from phone
|
|
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=172.18.251.234
|
|
netsh interface portproxy add v4tov4 listenport=8001 listenaddress=0.0.0.0 connectport=8001 connectaddress=172.18.251.234
|
|
|
|
# E) Firewall rules for app
|
|
New-NetFirewallRule -DisplayName "ROA2WEB-Frontend-WSL" -Direction Inbound -LocalPort 3000 -Protocol TCP -Action Allow
|
|
New-NetFirewallRule -DisplayName "ROA2WEB-Backend-WSL" -Direction Inbound -LocalPort 8001 -Protocol TCP -Action Allow
|
|
|
|
# Verify
|
|
netsh interface portproxy show all
|
|
```
|
|
|
|
**OR use automated setup script:**
|
|
|
|
```powershell
|
|
cd E:\proiecte\roa2web\roa2web\reports-app\frontend\scripts
|
|
.\android-test-setup.ps1
|
|
```
|
|
|
|
---
|
|
|
|
## Step 5: Test on Phone
|
|
|
|
**In WSL (start app):**
|
|
|
|
```bash
|
|
cd /mnt/e/proiecte/roa2web/roa2web
|
|
./start-dev.sh
|
|
```
|
|
|
|
**On phone Chrome:**
|
|
```
|
|
http://localhost:3000
|
|
```
|
|
|
|
---
|
|
|
|
## Step 6: Configure Chrome DevTools MCP (Optional)
|
|
|
|
For Claude Code to control Chrome on phone:
|
|
|
|
**Edit:** `~/.claude.json` (in WSL)
|
|
|
|
Find `chrome-devtools-android` and ensure it uses physical Windows IP:
|
|
|
|
```json
|
|
"chrome-devtools-android": {
|
|
"type": "stdio",
|
|
"command": "npx",
|
|
"args": [
|
|
"chrome-devtools-mcp@latest",
|
|
"--browser-url",
|
|
"http://10.0.20.144:9222"
|
|
]
|
|
}
|
|
```
|
|
|
|
Replace `10.0.20.144` with YOUR Windows IP:
|
|
|
|
```powershell
|
|
# Get your Windows IP
|
|
ipconfig | findstr "IPv4"
|
|
```
|
|
|
|
**Reload Claude Code:** Ctrl+Shift+P -> "Developer: Reload Window"
|
|
|
|
---
|
|
|
|
## Daily Workflow
|
|
|
|
**Morning setup:**
|
|
```powershell
|
|
# Windows PowerShell
|
|
adb connect 10.0.20.114:XXXXX # Your phone IP:PORT
|
|
adb forward tcp:9222 localabstract:chrome_devtools_remote
|
|
```
|
|
|
|
**Start app (WSL):**
|
|
```bash
|
|
cd /mnt/e/proiecte/roa2web/roa2web
|
|
./start-dev.sh
|
|
```
|
|
|
|
**On phone:** Open Chrome -> `http://localhost:3000`
|
|
|
|
**In Claude Code:** Ask for screenshots directly via MCP:
|
|
```
|
|
"Folosind chrome-devtools-android, fa screenshot de pe telefon"
|
|
```
|
|
|
|
**End of day cleanup:**
|
|
```bash
|
|
# WSL
|
|
cd /mnt/e/proiecte/roa2web/roa2web/reports-app/frontend
|
|
./scripts/android-disconnect.sh
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### "adb: device unauthorized"
|
|
- Unlock phone
|
|
- Accept "Allow USB debugging" prompt
|
|
- Check "Always allow from this computer"
|
|
|
|
### "Connection refused"
|
|
- Phone and PC must be on SAME WiFi network
|
|
- Restart "Wireless debugging" on phone
|
|
- Re-pair and reconnect
|
|
|
|
### "localhost:3000 doesn't load on phone"
|
|
Try Windows IP instead:
|
|
```
|
|
http://10.0.20.144:3000
|
|
```
|
|
|
|
### "Chrome DevTools MCP doesn't connect"
|
|
```bash
|
|
# Test from WSL
|
|
curl http://10.0.20.144:9222/json/version
|
|
```
|
|
|
|
If fails, check Windows port proxy and firewall rules.
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
| Component | Location | Command |
|
|
|-----------|----------|---------|
|
|
| **ADB Install** | Windows | `winget install Google.PlatformTools` |
|
|
| **Connect Phone** | Windows | `adb connect IP:PORT` |
|
|
| **Port Forwarding** | Windows Admin | `netsh interface portproxy ...` |
|
|
| **Setup Script** | Windows | `.\android-test-setup.ps1` |
|
|
| **Start App** | WSL | `./start-dev.sh` |
|
|
| **Screenshot** | Claude Code | Ask via MCP (inline, no file save) |
|
|
|
|
---
|
|
|
|
**Your physical IP addresses (fill in):**
|
|
- Windows IP: `___________________` (from `ipconfig`)
|
|
- Phone IP: `___________________` (from Wireless debugging)
|
|
- WSL IP for app: `172.18.251.234` (from `ip route show | grep default`)
|
|
|
|
---
|
|
|
|
For detailed guide, see: `tests/ANDROID_TESTING_GUIDE.md`
|