Building Block View
Whitebox Overall System
LibreHousehold breaks down into two subsystems with multiple modules as shown above. The arrows indicate logical dependencies between the modules. The squared boxes on the membrane of the subsystems indicate ports. Modules shown in both subsystems with the same name are responsible for the same topic and can be seen as one module split into two parts. These modules don’t share any code but communicate via the defined ports.
| Name | Responsibility |
|---|---|
Progressive Web App (PWA) |
The PWA is the user interface of LibreHousehold. It is responsible for displaying data to the user and sending user commands to the backend. |
Backend |
The backend is responsible for processing user commands, managing data, and communicating with external services such as the database and authentication provider. |
Expenses |
The Expenses module is responsible for managing the expenses (CRUD) |
Tasks |
The Tasks module is responsible for managing the tasks (CRUD) |
User Settings |
The User Settings module is responsible for managing user-specific settings such as preferences and changing log in data like email or password. |
App Settings |
The App Settings module is a special module only in the frontend for managing frontend (App) specific settings |
Household |
The Household module is responsible for creating and managing households including inviting and removing users. |
Setup |
The Setup module is responsible initially setting up the application and guiding the administrator through the setup process. |
Administration |
The Administration module is responsible for managing the application, including user management and system settings. |
Notifications |
The Notifications module is responsible for sending and showing notifications to the user. It also allows users to configure their notification settings. |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.