Mobile App
The DefenSys mobile app is a React Native (Expo) companion for iOS and Android. It connects to the desktop app's REST API for remote monitoring and alert management.
Features
- Real-Time Dashboard – Live statistics, threat counter, system status
- Alert Management – View, filter, search, acknowledge, and delete alerts
- Push Notifications – Receive critical alerts on your device
- Settings – Server URL, API key, connection test, notification preferences
- UI – Glassmorphism design, gradient cards, pull-to-refresh
Setup
- Ensure the desktop app is running and the REST API is accessible.
- In the mobile app settings, enter the desktop server URL (host and port where the desktop API is running).
- Test the connection and save.
API Endpoints Used
The mobile app expects these endpoints from the desktop API:
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/dashboard/stats | Dashboard statistics |
| GET | /api/traffic/stats | Traffic statistics |
| GET | /api/alerts | Security alerts |
| POST | /api/alerts/:id/acknowledge | Acknowledge alert |
| DELETE | /api/alerts/:id | Delete alert |
| GET | /api/threats | Threat data |
| GET | /api/ml/stats | ML statistics |
| POST | /api/monitoring/start | Start monitoring |
| POST | /api/monitoring/stop | Stop monitoring |
| POST | /api/firewall/block | Block IP |
| POST | /api/firewall/unblock | Unblock IP |
| GET | /api/health | Health check |
Development
cd mobile npm install npm start # Scan QR code with Expo Go
Production Build
# Install EAS CLI npm install -g eas-cli eas build:configure # Build eas build --platform android eas build --platform ios