You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/developer_guide/architecture.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,23 +50,23 @@ Some examples of modularity are:
50
50
- Calculation of entitlement
51
51
- {term}`deduplication` of beneficiaries
52
52
53
-
## High-level Functional Reference Architecture
53
+
## High-level functional reference architecture
54
54
55
55

56
56
57
57
The OpenSPP functional architecture diagram above presents an overview of the components and layers of a typical OpenSPP implementation.
58
58
59
-
**Data Layer**
59
+
**Data layer**
60
60
61
61
The Data Layer is responsible for storing and managing the data generated by and used within the OpenSPP system.
62
62
It consists of the following:
63
63
64
64
-**Database:** The database stores structured data, such as program information, {term}`beneficiary` records, and transaction data.
65
65
It uses a relational database management system (RDBMS) such as PostgreSQL.
66
-
-**Object Storage:** Object Storage is a component that stores unstructured data, such as images, documents, or other multimedia files.
66
+
-**Object storage:** Object Storage is a component that stores unstructured data, such as images, documents, or other multimedia files.
67
67
Currently, file storage has been used.
68
68
69
-
**Data Access Layer/Odoo ORM**
69
+
**Data access Layer/Odoo ORM**
70
70
71
71
The layer simplifies data interaction through object-oriented constructs and offers CRUD operations, querying, and filtering.
72
72
@@ -104,7 +104,7 @@ Non-functional requirements are the characteristics of the OpenSPP platform that
104
104
These include security, privacy, audibility, monitoring, performance, scalability, availability, and maintainability.
105
105
Only a couple of non-functional requirements are shown in the diagram.
106
106
107
-
## High-level Deployment Reference Architecture
107
+
## High-level deployment reference architecture
108
108
109
109
The on-premises deployment of OpenSPP encompasses a suite of interconnected components, each playing a vital role in delivering secure, robust, and highly efficient service.
110
110
This document is intended to provide an high-level understanding of the OpenSPP on-premises deployment architecture and its key components.
@@ -118,30 +118,30 @@ This document is intended to provide an high-level understanding of the OpenSPP
118
118
Serving as the entry point, the Firewall regulates the inbound and outbound network traffic based on predetermined security rules.
119
119
It protects the system's integrity by preventing unauthorized access and mitigating potential security threats.
120
120
121
-
**Application Load Balancer**
121
+
**Application load balancer**
122
122
123
123
The Load Balancer optimizes the performance of OpenSPP application servers by evenly distributing the incoming network traffic across multiple servers.
124
124
This not only enhances resource utilization and throughput but also prevents server overload.
125
125
The presence of active and passive nodes ensures failover protection and high availability.
126
126
127
-
**Identity Server**
127
+
**Identity server**
128
128
129
129
The Identity Server effectively manages user identities and controls access to resources.
130
130
It employs advanced features such as single sign-on, access delegation, and identity federation to ensure secure and compliant access to system resources.
131
131
132
-
**API Manager**
132
+
**API manager**
133
133
134
134
The API Manager in OpenSPP manages and secures APIs, controls access, and collects usage analytics.
135
135
Acting as a gateway, it validates and routes API calls, manages request rates, and supports API versioning.
136
136
It's instrumental in enhancing system security and optimizing service quality.
137
137
138
-
**OpenSPP Application Servers**
138
+
**OpenSPP application servers**
139
139
140
140
These servers form the nucleus of the OpenSPP system.
141
141
They execute the OpenSPP application and coordinate with databases and the API Gateway.
142
142
The use of active and passive nodes guarantees continuous service and failover protection.
143
143
144
-
**Database Load Balancer**
144
+
**Database load balancer**
145
145
146
146
The Database Load Balancer facilitates the efficient distribution of database queries across various instances.
147
147
This ensures optimal resource usage and high availability of database {term}`services`.
@@ -152,36 +152,36 @@ Databases serve as the data storage centers of the system.
152
152
They interact directly with the application servers and are crucial for OpenSPP's functioning.
153
153
Given the large volume of data handled by OpenSPP, a scalable and highly available database system is indispensable.
154
154
155
-
**Caching Databases**
155
+
**Caching databases**
156
156
157
157
Caching Databases enhances system performance by temporarily storing frequently accessed data.
158
158
This reduces the strain on primary databases and expedites data retrieval processes.
159
159
160
-
**Object Storage**
160
+
**Object storage**
161
161
162
162
This component caters to storing unstructured data such as files.
163
163
Its high scalability makes it an ideal solution for storing large data volumes.
164
164
165
-
**File Storage**
165
+
**File storage**
166
166
167
167
File Storage manages the storage of structured data in a hierarchical file system.
168
168
It handles files such as documents and spreadsheets.
169
169
170
-
**Email Gateway**
170
+
**Email gateway**
171
171
172
172
The Email Gateway is tasked with managing email communications in a secure and efficient manner.
173
173
It plays a pivotal role in sending and receiving emails within the system.
174
174
175
-
**SMS Gateway**
175
+
**SMS gateway**
176
176
177
177
The SMS Gateway allows the system to send and receive SMS messages, ensuring a seamless channel for alerts, notifications, and two-factor {term}`authentication`.
178
178
179
-
**Monitoring and Alerting System**
179
+
**Monitoring and alerting system**
180
180
181
181
This component vigilantly monitors the health and performance of the system.
182
182
It promptly issues alerts for any detected anomalies or performance issues, ensuring rapid response and resolution.
183
183
184
-
**Log Aggregation**
184
+
**Log aggregation**
185
185
186
186
The Log Aggregation component centralizes log data collection from all system components.
187
187
It is a critical tool for analyzing system behavior, aiding in diagnosing and troubleshooting issues.
Copy file name to clipboardExpand all lines: docs/developer_guide/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
2
myst:
3
3
html_meta:
4
-
"title": "Developer Guide"
4
+
"title": "Developer guide"
5
5
"description": "Technical documentation and guides for developers working with OpenSPP - setup, architecture, module development, integrations, and API usage"
Add the OpenSPP Public Key and APT repository to your system:
47
47
@@ -61,7 +61,7 @@ Install OpenSPP directly from the repository:
61
61
sudo apt-get install -y openspp-17-daily
62
62
```
63
63
64
-
### Alternative: Manual Download
64
+
### Alternative: Manual download
65
65
66
66
If you prefer to download the package manually or the repository is not accessible:
67
67
@@ -102,7 +102,7 @@ sudo -u postgres psql -c "ALTER USER openspp WITH PASSWORD 'your_secure_password
102
102
103
103
## Step 6: Configure OpenSPP
104
104
105
-
### Basic Configuration
105
+
### Basic configuration
106
106
107
107
The main configuration file is located at `/etc/openspp/odoo.conf`.
108
108
@@ -125,15 +125,15 @@ Find and update these lines (paste the generated password):
125
125
admin_passwd = YOUR_STRONG_PASSWORD_HERE
126
126
```
127
127
128
-
2.**Database Management Settings**:
128
+
2.**Database management settings**:
129
129
130
130
```ini
131
131
; Database Management
132
132
list_db = True ; IMPORTANT: Set to True to enable database creation via web UI
133
133
; Set to False for production (more secure)
134
134
```
135
135
136
-
3.**Queue Job Configuration** (REQUIRED for OpenSPP):
136
+
3.**Queue job configuration** (REQUIRED for OpenSPP):
137
137
138
138
OpenSPP uses the queue_job module for asynchronous operations. The package includes default configuration, but you may need to adjust it:
139
139
@@ -170,7 +170,7 @@ longpolling_port = 8072 ; For real-time features
170
170
log_level = info ; Options: debug, info, warning, error, critical
171
171
```
172
172
173
-
### Database Configuration
173
+
### Database configuration
174
174
175
175
By default, the package is configured to use Unix socket authentication (peer). This means the `openspp` system user can connect to PostgreSQL without a password.
176
176
@@ -186,7 +186,7 @@ db_host = localhost
186
186
db_password = your_postgresql_password
187
187
```
188
188
189
-
## Step 7: Start OpenSPP Service
189
+
## Step 7: Start OpenSPP service
190
190
191
191
### Enable the service to start on boot
192
192
```bash
@@ -210,9 +210,9 @@ Required to apply any changes to the configuration:
210
210
sudo systemctl restart openspp
211
211
```
212
212
213
-
## Step 8: Create Your First Database
213
+
## Step 8: Create your first database
214
214
215
-
### Option A: Via Web Interface (Recommended)
215
+
### Option A: Via web interface (recommended)
216
216
217
217
**Prerequisites**: Ensure `list_db = True` is set in `/etc/openspp/odoo.conf` (see Step 6).
0 commit comments