How migaradenuwan/franklin works
Franklin is a sea-turtle conservation monitoring system: users view live camera and habitat monitoring, review AI detections and health findings, and act on alerts or reports. The React application presents dashboard, hatchery, nest, shoreline, turtle-health, notification, and report workflows. Its Express API coordinates domain services and MongoDB-backed records; Python inference services provide detection and shoreline analysis. The README documents disease, predator/human, nest, and shoreline capabilities, though the sampled excerpts do not establish every model-to-API connection. Google Drive integration is documented, but its runtime caller was not sampled.
Main entry points: app.js HTTP API · db.js MongoDB · shoreline.controller.js Shoreline analysis · detections.controller.js Detection intake
Components 25
Monitoring interface
- Dashboard
Frontend/src/modules/dashboard/HomePage.jsx - Hatchery view
Frontend/src/modules/hatchery/HatcheryPage.jsx - Nest monitoring
Frontend/src/modules/nests/NestMonitoringPage.jsx - Shoreline risk
Frontend/src/modules/shoreline/pages/ShorelineRiskPage.jsx - Turtle health
Frontend/src/modules/turtles/TurtleHealthPage.jsx - Reports
Frontend/src/modules/reports/ReportsPage.jsx - Notifications
Frontend/src/modules/notifications/NotificationsPage.jsx
Conservation API
- HTTP API
Backend/src/app.js - Camera control
Backend/src/modules/cameras/camera.controller.js - Camera streaming
Backend/src/modules/streaming/streaming.service.js - Hatchery workflows
Backend/src/modules/hatchery/hatchery.controller.js - Shoreline analysis
Backend/src/modules/shoreline/shoreline.controller.js - Detection intake
Backend/src/modules/detections/detections.controller.js - Dashboard aggregation
Backend/src/modules/dashboard/dashboard.controller.js - Report generation
Backend/src/modules/reports/reports.controller.js - Detection notifications
Backend/src/modules/notifications/notification.service.js
AI inference
- Combined AI service
Models/AI_Service/app.py - Video analysis
Models/Unified_Backend/app.py - Shoreline segmentation
Models/Shoreline_Segmentation_Backend/app.py
Records and services
- MongoDB
Backend/src/config/db.js
External systems
- Google Drive
- CCTV camera
- Hatchery AI service
- Email service
Other components
- Conservationist
Connections 31
- Conservationist → Dashboard: views
- Conservationist → Hatchery view: monitors
- Conservationist → Nest monitoring: monitors
- Conservationist → Shoreline risk: reviews
- Conservationist → Turtle health: reviews
- Conservationist → Reports: requests
- Conservationist → Notifications: reviews
- CCTV camera → Camera streaming: provides video
- Camera control → MongoDB: reads/writes
- Camera control → Camera streaming: starts/stops
- Camera streaming → CCTV camera: reads stream
- Hatchery workflows → Hatchery AI service: requests stream/data
- Hatchery workflows → MongoDB: reads/writes alerts
- Shoreline analysis → Combined AI service: requests prediction
- Shoreline analysis → MongoDB: stores alerts
- Shoreline analysis → Email service: sends alerts
- Combined AI service → Shoreline segmentation: shoreline inference
- Combined AI service → Video analysis: unified analysis
- Video analysis → Detection intake: posts detections
- Detection intake → MongoDB: saves records
- Detection intake → Detection notifications: tracks detection
- Dashboard aggregation → MongoDB: aggregates records
- Report generation → MongoDB: loads report data
- Report generation → Google Drive: stores monitoring logs
- Dashboard → HTTP API: requests dashboard
- Hatchery view → HTTP API: requests hatchery
- Nest monitoring → HTTP API: requests nest data
- Shoreline risk → HTTP API: requests monitoring
- Turtle health → HTTP API: requests health
- Reports → HTTP API: requests reports
- Notifications → HTTP API: requests alerts