Skip to content

Commit ee83764

Browse files
committed
tidy up
1 parent 319c340 commit ee83764

31 files changed

+264
-376
lines changed

docs/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
layout: home
32
title: Home
43
nav_order: 1
54
---

docs/pages/architecture.md

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
layout: page
32
title: Architecture
43
nav_order: 6
54
has_children: false
@@ -11,30 +10,30 @@ BUG is built around a modular, containerized architecture designed to simplify c
1110

1211
## Core Principles
1312

14-
- Each module is self-contained: one module per function.
15-
- Modules are designed to be independent but can interact via APIs if needed.
16-
- Focus on simplicity: aim to implement ~80% of a device’s functionality.
17-
- BUG is mobile-first: UI components are designed to scale across screen sizes.
18-
- Performance matters: consider the load on devices and frequency of data polling.
19-
- Modules run in Docker containers, isolating their backend logic from the core system.
20-
- Module memory is volatile: any temporary data should not be relied upon for persistent state.
13+
- Each module is self-contained: one module per function.
14+
- Modules are designed to be independent but can interact via APIs if needed.
15+
- Focus on simplicity: aim to implement ~80% of a device’s functionality.
16+
- BUG is mobile-first: UI components are designed to scale across screen sizes.
17+
- Performance matters: consider the load on devices and frequency of data polling.
18+
- Modules run in Docker containers, isolating their backend logic from the core system.
19+
- Module memory is volatile: any temporary data should not be relied upon for persistent state.
2120

2221
## Containers Overview
2322

2423
Every BUG instance includes at minimum:
2524

26-
- BUG Core – serves the frontend UI, manages configuration, and orchestrates modules.
27-
- Mongo – stores persistent configuration and module data.
25+
- BUG Core – serves the frontend UI, manages configuration, and orchestrates modules.
26+
- Mongo – stores persistent configuration and module data.
2827

2928
![Architecture Overview](/bug/assets/diagrams/architecture-overview.drawio.svg)
3029

3130
In development environments, additional containers such as Mongo Express may be present for easier inspection of the database.
3231

3332
Each module is allocated its own container, which provides:
3433

35-
- Isolated environment for backend logic
36-
- Data acquisition and monitoring for connected devices
37-
- REST APIs and WebSocket endpoints for communication with the core
34+
- Isolated environment for backend logic
35+
- Data acquisition and monitoring for connected devices
36+
- REST APIs and WebSocket endpoints for communication with the core
3837

3938
## Panel Communication
4039

@@ -44,17 +43,17 @@ Panels communicate only with the BUG Core API. Workers within module containers
4443

4544
### Key Points
4645

47-
- Workers handle device communication asynchronously.
48-
- The frontend interacts only with BUG Core, not module containers.
49-
- Central Mongo databases are per-panel and facilitate sharing data between workers.
50-
- NodeCache or other local caches can be used within containers for temporary data.
46+
- Workers handle device communication asynchronously.
47+
- The frontend interacts only with BUG Core, not module containers.
48+
- Central Mongo databases are per-panel and facilitate sharing data between workers.
49+
- NodeCache or other local caches can be used within containers for temporary data.
5150

5251
## Module Configuration
5352

5453
Panel configuration is persistent and stored in BUG Core. Module containers receive their configuration when started or updated.
5554

56-
- Each module should provide a base config page accessible at `/config`.
57-
- Config forms should use the `PanelConfig` component to ensure consistent behavior:
55+
- Each module should provide a base config page accessible at `/config`.
56+
- Config forms should use the `PanelConfig` component to ensure consistent behavior:
5857

5958
```
6059
@@ -63,19 +62,19 @@ Panel configuration is persistent and stored in BUG Core. Module containers rece
6362
</PanelConfig>
6463
```
6564

66-
- The API route `/api/panel/config/${panelId}` accepts a PUT request with a config object.
67-
- Valid fields are merged with existing configuration; invalid fields are ignored.
68-
- Field validation is the responsibility of the module developer.
65+
- The API route `/api/panel/config/${panelId}` accepts a PUT request with a config object.
66+
- Valid fields are merged with existing configuration; invalid fields are ignored.
67+
- Field validation is the responsibility of the module developer.
6968

7069
Persistent configuration includes things like IP addresses, credentials, or default module options. Temporary runtime data should be stored in the module’s container database or cache.
7170

7271
## Module Memory is Volatile
7372

7473
Anything stored in a module’s container during runtime should not be considered permanent. Containers can be restarted, rebuilt, or removed at any time.
7574

76-
- Design modules to function correctly even if runtime data is lost.
77-
- Persistent config should always be stored in BUG Core and passed to the module container.
78-
- Use the panel-specific Mongo database for temporary or frequently-updated data.
75+
- Design modules to function correctly even if runtime data is lost.
76+
- Persistent config should always be stored in BUG Core and passed to the module container.
77+
- Use the panel-specific Mongo database for temporary or frequently-updated data.
7978

8079
---
8180

docs/pages/changelog.md

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
layout: page
32
title: Changelog
43
nav_order: 6
54
has_children: false
@@ -9,112 +8,112 @@ has_children: false
98

109
## [2.2.21] - 2020-01-10
1110

12-
- Fix BUG workers not running on boot
13-
- BMI Test module - hide invalid interfaces
11+
- Fix BUG workers not running on boot
12+
- BMI Test module - hide invalid interfaces
1413

1514
## [2.2.20] - 2020-01-10
1615

17-
- Added BMI Test module
16+
- Added BMI Test module
1817

1918
## [2.2.19] - 2020-01-09
2019

21-
- Upgraded Laravel from 5.7 -> 5.8
20+
- Upgraded Laravel from 5.7 -> 5.8
2221

2322
## [2.2.18] - 2019-12-03
2423

25-
- Added support for Cisco stacked switches
26-
- Added support for SG500X Cisco switches
27-
- Added support for SG550X Cisco switches
24+
- Added support for Cisco stacked switches
25+
- Added support for SG500X Cisco switches
26+
- Added support for SG550X Cisco switches
2827

2928
## [2.2.17] - 2019-12-02
3029

31-
- Fixed storage of outlet names in Densitron MDUs
32-
- Fixed keep autologin state on upgrade
33-
- Added ability to rename mikrotik router interfaces
34-
- Added display of detected interface speed on mikrotik routers
30+
- Fixed storage of outlet names in Densitron MDUs
31+
- Fixed keep autologin state on upgrade
32+
- Added ability to rename mikrotik router interfaces
33+
- Added display of detected interface speed on mikrotik routers
3534

3635
## [2.2.16] - 2019-11-28
3736

38-
- Fixed Cisco SG300 SNMP/VLAN bug
37+
- Fixed Cisco SG300 SNMP/VLAN bug
3938

4039
## [2.2.15] - 2019-10-24
4140

42-
- Added support for Densitron EMU3 mains units
43-
- Fixed restarting of bug worker threads when using systemd
44-
- Fixed nodata overlays on tieline bridgeit
41+
- Added support for Densitron EMU3 mains units
42+
- Fixed restarting of bug worker threads when using systemd
43+
- Fixed nodata overlays on tieline bridgeit
4544

4645
## [2.2.14] - 2019-10-07
4746

48-
- Fixed mongo/tieline bug with dots in field names
49-
- Fixed tieline when codex package not installed
47+
- Fixed mongo/tieline bug with dots in field names
48+
- Fixed tieline when codex package not installed
5049

5150
## [2.2.13] - 2019-10-07
5251

53-
- Fixed spurious routes being shown with routing-mark
52+
- Fixed spurious routes being shown with routing-mark
5453

5554
## [2.2.12] - 2019-10-04
5655

57-
- Added blackmagic multiview module
56+
- Added blackmagic multiview module
5857

5958
## [2.2.11] - 2019-09-27
6059

61-
- Added jitter buffer to dektec display
62-
- Allow user to change name of OBE device
63-
- Added input filters to OBE number fields
60+
- Added jitter buffer to dektec display
61+
- Allow user to change name of OBE device
62+
- Added input filters to OBE number fields
6463

6564
## [2.2.10] - 2019-09-27
6665

67-
- Fixed bug with video bitrate calculation in OBE
68-
- Changed OBE gui to use kbps rather than bps for ts bitrate
66+
- Fixed bug with video bitrate calculation in OBE
67+
- Changed OBE gui to use kbps rather than bps for ts bitrate
6968

7069
## [2.2.9] - 2019-09-16
7170

72-
- Added support for tieline bridge-IT devices
71+
- Added support for tieline bridge-IT devices
7372

7473
## [2.2.7] - 2019-09-16
7574

76-
- Fixed OBE bug when saving multiple audio channels or outputs
75+
- Fixed OBE bug when saving multiple audio channels or outputs
7776

7877
## [2.2.6] - 2019-09-13
7978

80-
- Improved handing of unknown video type detection on OBEs
79+
- Improved handing of unknown video type detection on OBEs
8180

8281
## [2.2.5] - 2019-09-09
8382

84-
- Fixed bug with dropdowns in NTT/OBE panels
83+
- Fixed bug with dropdowns in NTT/OBE panels
8584

8685
## [2.2.4] - 2019-08-31
8786

88-
- Added support for tieline merlin devices
87+
- Added support for tieline merlin devices
8988

9089
## [2.2.3] - 2019-07-15
9190

92-
- Added context menus to videohub module
93-
- Added destination locks to videohub module
94-
- Added ability to edit single labels via context menu in videohub module
91+
- Added context menus to videohub module
92+
- Added destination locks to videohub module
93+
- Added ability to edit single labels via context menu in videohub module
9594

9695
## [2.2.2] - 2019-07-09
9796

98-
- Users can now edit labels in videohub module
99-
- Improved view of pages on mobile devices
100-
- Fixed modal overlay on mobile devices
101-
- Added dialog to indicate when UI connection lost
102-
- Fixed async videohub sending of changes
97+
- Users can now edit labels in videohub module
98+
- Improved view of pages on mobile devices
99+
- Fixed modal overlay on mobile devices
100+
- Added dialog to indicate when UI connection lost
101+
- Fixed async videohub sending of changes
103102

104103
## [2.2.1] - 2019-07-04
105104

106-
- Added support for upgrade notifications
107-
- Added ability to upgrade BUG from within the web-app
108-
- Fixed multiple headers in admin panels
105+
- Added support for upgrade notifications
106+
- Added ability to upgrade BUG from within the web-app
107+
- Fixed multiple headers in admin panels
109108

110109
## [2.2.0] - 2019-06-30
111110

112-
- Added ability to edit from console now we have an on-screen keyboard
113-
- Fixed videohub timeout and crash bug
114-
- Fixed missing .id field (and therefore crash) in mikrotik DHCP
115-
- Fixed dodgy scrollbars
111+
- Added ability to edit from console now we have an on-screen keyboard
112+
- Fixed videohub timeout and crash bug
113+
- Fixed missing .id field (and therefore crash) in mikrotik DHCP
114+
- Fixed dodgy scrollbars
116115

117116
## [2.1.9] - 2019-06-26
118117

119-
- Added on-screen keyboard (optional)
120-
- Improved comrex UI on mobile devices
118+
- Added on-screen keyboard (optional)
119+
- Improved comrex UI on mobile devices

docs/pages/development/capabilities.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
layout: page
32
title: Capabilities
43
parent: Development
54
nav_order: 2
@@ -18,7 +17,7 @@ This capability is used primary for network routers which provide DHCP servers.
1817

1918
`/container/{panelid}/capabilities/dhcp-server/`
2019

21-
- lists all DHCP leases on the server, with the following fields:
20+
- lists all DHCP leases on the server, with the following fields:
2221

2322
| Field | Description |
2423
| -------- | ---------------------------------- |
@@ -35,7 +34,7 @@ This capability is used primary for video routers. It can be used to provide rou
3534

3635
`/container/{panelid}/capabilities/video-router/`
3736

38-
- lists an array containing all routes on the video router with the following fields:
37+
- lists an array containing all routes on the video router with the following fields:
3938

4039
| Field | Description |
4140
| ----------- | -------------------------------------------- |
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
---
2-
layout: page
32
title: Connecting Panels
43
parent: Development
54
nav_order: 2
65
---
76

87
# Connecting Panels
98

10-
- How to best do it
11-
- use Bug Panel Select component
12-
- use capabilities array
13-
- make sure there is support in modules
9+
- How to best do it
10+
- use Bug Panel Select component
11+
- use capabilities array
12+
- make sure there is support in modules

docs/pages/development/docker.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
layout: page
32
title: Docker
43
parent: Development
54
nav_order: 10

docs/pages/development/error-handling.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
layout: page
32
title: Error Handling
43
parent: Development
54
nav_order: 2

docs/pages/development/index.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
layout: page
32
title: Development
43
nav_order: 4
54
has_children: true
@@ -34,7 +33,7 @@ Microsoft's [Visual Studio Code](https://code.visualstudio.com/) has been used f
3433

3534
## Troubleshooting
3635

37-
- The `-d` in the command `docker compose -d` deataches the process from the terminal running the container in the background.
38-
- If you're getting Docker related 'permission denied' errors, make sure you've run the Docker [post-installation steps](https://docs.docker.com/engine/install/linux-postinstall/) on Linux.
39-
- If you're developing on a linux OS you may see errors on the main bug container logs regarding file write permission. This can be solved by giving the docker group read write permissions on the repository directory.
40-
- If using a linux machine for development it's suggested that [docker engine](https://docs.docker.com/engine/install/ubuntu/) is used rather than docker desktop.
36+
- The `-d` in the command `docker compose -d` deataches the process from the terminal running the container in the background.
37+
- If you're getting Docker related 'permission denied' errors, make sure you've run the Docker [post-installation steps](https://docs.docker.com/engine/install/linux-postinstall/) on Linux.
38+
- If you're developing on a linux OS you may see errors on the main bug container logs regarding file write permission. This can be solved by giving the docker group read write permissions on the repository directory.
39+
- If using a linux machine for development it's suggested that [docker engine](https://docs.docker.com/engine/install/ubuntu/) is used rather than docker desktop.

0 commit comments

Comments
 (0)