Skip to content

Commit 7658d87

Browse files
authored
add diagram to readme update API's listed (#100)
* add diagram to readme update API's listed Signed-off-by: JDTobin <james.d.tobin3.ctr@mail.mil> * remove out of date github workflow file Signed-off-by: JDTobin <james.d.tobin3.ctr@mail.mil> * remove section numbers, and fix section header levels Signed-off-by: JDTobin <james.d.tobin3.ctr@mail.mil> --------- Signed-off-by: JDTobin <james.d.tobin3.ctr@mail.mil>
1 parent 07c7e2b commit 7658d87

File tree

2 files changed

+81
-80
lines changed

2 files changed

+81
-80
lines changed

.github/workflows/cd-workflows.yml

Lines changed: 0 additions & 52 deletions
This file was deleted.

README.md

Lines changed: 81 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,39 @@ Learning experience metadata received from XIAs is stored in the Metadata Loadin
77

88
XIS can syndicate its composite records to another XIS. One or more facets/dimensions can filter the record-set to transmit a subset of the overall composite record repository. In addition, the transmitted fieldset can be configured to contain redacted values for specified fields when information is considered too sensitive for syndication.
99

10+
## ECC System Architecture
11+
12+
```mermaid
13+
---
14+
title: ECC Connected Systems
15+
---
16+
graph TD;
17+
subgraph Legend
18+
1("System")-->|MVP|2("System");
19+
1("System")-.->|Future Planned|2("System");
20+
end
21+
subgraph External Applications
22+
XSR;
23+
XSS[XSS/LDSS];
24+
end
25+
subgraph ECC
26+
XIS;
27+
XDS;
28+
XDSUI[XDS UI];
29+
XMS;
30+
XMSUI[XMS UI];
31+
XIA;
32+
XSE;
33+
end
34+
XSS-->|Schema|XIS & XIA;
35+
XIA-->|Courses|XIS;
36+
XIS-->|Courses|XMS & XDS & XSE;
37+
XSE-->|Courses|XDS;
38+
XSR-->|Courses|XIA;
39+
XDS-->|Courses|XDSUI;
40+
XMS-->|Courses|XMSUI;
41+
```
42+
1043
## Workflows
1144
### ETL
1245
ETL pipeline from XIA loads processed metadata ledger and supplemental ledger in a metadata ledger and supplemental ledger of XIS component after a validation. Metadata combined with supplemental metadata provided by an Experience Owner or Experience Manager from XMS also gets stored in XIS. All of them from XIA and XMS finally get merged into XIS's composite ledger after a validation.
@@ -43,35 +76,35 @@ Or copy it into one of these folders to install it system-wide:
4376
`Python >=3.9` : Download and install it from here [Python](https://www.python.org/downloads/).
4477

4578

46-
## 1. Clone the project
79+
## Clone the project
4780
Clone the Github repository
4881
```
4982
git clone https://github.com/OpenLXP/openlxp-xis.git
5083
```
5184

52-
## 2. Set up your environment variables
85+
## Set up your environment variables
5386
- Create a `.env` file in the root directory
5487
- The following environment variables are required:
5588

56-
| Environment Variable | Description |
57-
| ------------------------- | ----------- |
58-
| AWS_ACCESS_KEY_ID | The Access Key ID for AWS |
59-
| AWS_SECRET_ACCESS_KEY | The Secret Access Key for AWS |
60-
| AWS_DEFAULT_REGION | The region for AWS |
61-
| CELERY_BROKER_URL | The URL of the message broker that Celery will use to send and receive messages |
62-
| CELERY_RESULT_BACKEND | The backend that Celery will use to store task results |
63-
| DB_HOST | The host name, IP, or docker container name of the database |
64-
| DB_NAME | The name to give the database |
65-
| DB_PASSWORD | The password for the user to access the database |
66-
| DB_ROOT_PASSWORD | The password for the root user to access the database, should be the same as `DB_PASSWORD` if using the root user |
89+
| Environment Variable | Description |
90+
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
91+
| AWS_ACCESS_KEY_ID | The Access Key ID for AWS |
92+
| AWS_SECRET_ACCESS_KEY | The Secret Access Key for AWS |
93+
| AWS_DEFAULT_REGION | The region for AWS |
94+
| CELERY_BROKER_URL | The URL of the message broker that Celery will use to send and receive messages |
95+
| CELERY_RESULT_BACKEND | The backend that Celery will use to store task results |
96+
| DB_HOST | The host name, IP, or docker container name of the database |
97+
| DB_NAME | The name to give the database |
98+
| DB_PASSWORD | The password for the user to access the database |
99+
| DB_ROOT_PASSWORD | The password for the root user to access the database, should be the same as `DB_PASSWORD` if using the root user |
67100
| DB_USER | The name of the user to use when connecting to the database. When testing use root to allow the creation of a test database |
68-
| DJANGO_SUPERUSER_EMAIL | The email of the superuser that will be created in the application |
69-
| DJANGO_SUPERUSER_PASSWORD | The password of the superuser that will be created in the application |
70-
| DJANGO_SUPERUSER_USERNAME | The username of the superuser that will be created in the application |
71-
| LOG_PATH | The path to the log file to use |
72-
| SECRET_KEY_VAL | The Secret Key for Django |
101+
| DJANGO_SUPERUSER_EMAIL | The email of the superuser that will be created in the application |
102+
| DJANGO_SUPERUSER_PASSWORD | The password of the superuser that will be created in the application |
103+
| DJANGO_SUPERUSER_USERNAME | The username of the superuser that will be created in the application |
104+
| LOG_PATH | The path to the log file to use |
105+
| SECRET_KEY_VAL | The Secret Key for Django |
73106

74-
## 4. Deployment
107+
## Deployment
75108
1. Create the openlxp docker network
76109
Open a terminal and run the following command in the root directory of the project.
77110
```
@@ -82,7 +115,7 @@ git clone https://github.com/OpenLXP/openlxp-xis.git
82115
```
83116
docker-compose up -d --build
84117
85-
## 5. Configuration for XMS
118+
## Configuration for XIS
86119
1. 1. Navigate over to `http://localhost:8080/admin/` in your browser and login to the Django Admin page with the admin credentials set in your `.env` (`DJANGO_SUPERUSER_EMAIL` & `DJANGO_SUPERUSER_PASSWORD`)
87120
88121
2. <u>CORE</u>
@@ -162,7 +195,7 @@ git clone https://github.com/OpenLXP/openlxp-xis.git
162195
163196
- `Template`: Select a 'template' from the drop down options set up previously.
164197
165-
## 6. Running Of XIS Tasks:
198+
## Running Of XIS Tasks:
166199
167200
### Running Tasks
168201
XIS has 3 workflows that can be run. Consolidation and loading of Metadata and Supplemental Metadata into Compositing Ledger then loading it into XSE. XIS Upstream Syndication. And XIS Downstream Syndication. They can each be triggered 2 ways:
@@ -189,7 +222,7 @@ XIS has 3 workflows that can be run. Consolidation and loading of Metadata and
189222
- `Name` - Short description for this task
190223
- `Task (registered)`: The workflow to run from the Task (registered) dropdown list. On the selected time interval celery task will run the task.
191224
192-
## 7. Removing Deployment
225+
## Removing Deployment
193226
To destroy the created resources, simply run the command below in your terminal:
194227
195228
@@ -199,24 +232,44 @@ To destroy the created resources, simply run the command below in your terminal:
199232
200233
XIS supports API's endpoints which can get called from other components
201234
202-
1. `http://localhost:8080/api/catalogs/`
235+
1. `/api/catalogs/`
236+
237+
This API fetches the names of all course providers in the composite ledger
238+
239+
2. `/api/metadata/`
240+
241+
This API is for uploading metadata ledger records
242+
243+
3. `/api/supplemental-data/`
244+
245+
This API is for uploading supplemental ledger records
246+
247+
4. `/api/metadata/<str:course_id>/`
248+
249+
This API fetches the composite ledger object
250+
251+
5. `/api/managed-data/catalogs/`
252+
253+
This API fetches the names of all course providers in the metadata ledger
254+
255+
6. `/api/managed-data/catalogs/<str:provider_id>`
203256
204-
This API fetches the names of all course providers
257+
This API fetches the metadata and supplemental ledger data under a specific catalog/course provider
205258
206-
2. `http://localhost:8080/api/metadata/<str:course_id>/`
259+
7. `/api/managed-data/catalogs/<str:provider_id>/<str:course_id>/`
207260
208261
This API fetches or modifies the record of the corresponding course id
209262
210-
# Logs
263+
## Logs
211264
To check the running of celery tasks, check the logs of application and celery container.
212265
213266
214-
# Troubleshooting
267+
## Troubleshooting
215268
- If the container builds but crashes or logs an error of unrecognized commands, the issue is usually incorrect line endings. Most IDEs/Text Editors allow changing the line endings, but the dos2unix utility can also be used to change the line endings of `start-app.sh` and `start-server.sh` to LF.
216269
217270
218271
- A good basic troubleshooting step is to use `docker-compose down` and then `docker-compose up --build` to rebuild the app image; however, this will delete everything in the database.
219272
220-
# License
273+
## License
221274
This project uses the [MIT](http://www.apache.org/licenses/LICENSE-2.0) license.
222275

0 commit comments

Comments
 (0)