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

  1. Ensure the desktop app is running and the REST API is accessible.
  2. In the mobile app settings, enter the desktop server URL (host and port where the desktop API is running).
  3. Test the connection and save.

API Endpoints Used

The mobile app expects these endpoints from the desktop API:

MethodEndpointDescription
GET/api/dashboard/statsDashboard statistics
GET/api/traffic/statsTraffic statistics
GET/api/alertsSecurity alerts
POST/api/alerts/:id/acknowledgeAcknowledge alert
DELETE/api/alerts/:idDelete alert
GET/api/threatsThreat data
GET/api/ml/statsML statistics
POST/api/monitoring/startStart monitoring
POST/api/monitoring/stopStop monitoring
POST/api/firewall/blockBlock IP
POST/api/firewall/unblockUnblock IP
GET/api/healthHealth 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