How marekwo/mc-webui works
mc-webui is a Flask web interface for operating a MeshCore LoRa network device. The main workflow is browser actions through the web application and API to device commands, with device events and messages persisted for chat, contacts, and search. Separate capabilities include channel and DM interaction, contact and route management, archives, console access, diagnostics, maps, and the Android WebView companion. The graph uses documented capabilities and indexed imports; unsampled feature wiring is omitted where it cannot be verified.
Main entry points: main.py Flask app · app.js Browser UI · api.py REST API · device_manager.py Device manager
Components 23
Web application
- Flask app
app/main.py - REST API
app/routes/api.py - Page views
app/routes/views.py - Translations
app/i18n.py
Mesh operations
- Device manager
app/device_manager.py - Command wrapper
app/meshcore/cli.py - Message parser
app/meshcore/parser.py - Region helpers
app/meshcore/regions.py
Data and services
- SQLite database
app/database.py - Archive manager
app/archiver/manager.py - Mesh observer
app/observer.py - Diagnostics
app/diagnostics.py
User clients
- Browser UI
app/static/js/app.js - Interactive console
app/static/js/console.js - Contact tools
app/static/js/contacts.js - Direct messages
app/static/js/dm.js - Repeater tools
app/static/js/repeaters.js - Path analysis
app/static/js/path-analyzer.js - System log viewer
app/static/js/logs.js - Contact map
app/geo.py - Android companion
android/src/app/src/main/java/it/wojtaszek/mc/wrapper/MainActivity.kt
Other components
- User
- MeshCore device
Connections 26
- User → Browser UI: uses
- Browser UI → Flask app: requests pages
- Flask app → REST API: registers
app/main.py - Flask app → Page views: registers
app/main.py - Flask app → Translations: uses
app/main.py - Flask app → Device manager: initializes
app/main.py - Flask app → SQLite database: initializes
app/main.py - REST API → Command wrapper: calls
app/routes/api.py - REST API → Device manager: calls
app/routes/api.py - REST API → Region helpers: uses
app/routes/api.py - Command wrapper → Flask app: gets manager
app/meshcore/cli.py - Device manager → MeshCore device: communicates
- Browser UI → Interactive console: opens
- Browser UI → Contact tools: opens
- Browser UI → Direct messages: opens
- Browser UI → Repeater tools: opens
- Browser UI → Path analysis: opens
- Device manager → SQLite database: stores events
app/device_manager.py - Device manager → Mesh observer: starts
- Flask app → Archive manager: initializes
app/main.py - Archive manager → SQLite database: archives messages
- REST API → Diagnostics: uses
app/routes/api.py - Browser UI → System log viewer: views
- REST API → Contact map: uses
app/routes/api.py - User → Android companion: uses
- Android companion → Flask app: opens instance