Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.env
22 changes: 22 additions & 0 deletions KST-ASD-BI-101/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
HOSTNAME=localhost
HOST_PORT=63398

DB_HOST=rdbms
DB_NAME=catapult_player
DB_USERNAME=catapult
DB_PASSWORD=quartz

CONTENT_URL=http://localhost:63398/content

#API_KEY="some API access key"
#API_SECRET="an API access secret"
#TOKEN_SECRET="some random string"

#LRS_ENDPOINT="http://host.docker.internal:8081/20.1.x/lrs/default/"
#LRS_USERNAME="dev-tools-xapi"
#LRS_PASSWORD="dev-tools-xapi-password"
#LRS_XAPI_VERSION=1.0.3

## Default is empty, add if necessary for nginx config
PLAYER_API_ROOT=
PLAYER_STANDALONE_LAUNCH_URL_BASE=
83 changes: 83 additions & 0 deletions KST-ASD-BI-101/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Course Outline: Applied Software Development for Buddhist Innovation

## Course Description

This course explores the intersection of software development and Buddhist
philosophy, aiming to develop innovative applications that align with
Buddhist principles. Learners will learn how to apply Buddhist concepts to
software design, development, and deployment, promoting ethical,
compassionate, and sustainable technological solutions.

## Course Objectives

* **Understand** the core principles and concepts of Buddhism.
* **Apply** Buddhist ethics and values to software development practices.
* **Develop** software applications that promote mindfulness, compassion,
and well-being.

Explore the potential of technology to serve as a tool for spiritual
growth and social transformation.

Foster a critical and ethical approach to technology design and use.

## Course Outline

### Module 1: Foundations of Buddhist Philosophy

* Introduction to Buddhism: Historical context, key figures, and major schools
Understanding the differences between the major schools (Theravada, Mahayana, Vijñāna)
* The Four Noble Truths and Eightfold Path
* The concept of Saṃsāra
* Mindfulness and meditation practices
* Explored and taught from the perspective of the Theravada (Satipaṭṭhāna)
* Four Foundations of Mindfulness

### Module 2: Software Development Fundamentals

* Introduction to programming concepts and languages
* Software development methodologies (e.g., Agile, Waterfall)
* User experience (UX) design and human-computer interaction
* Ethical considerations in software development

### Module 3: Integrating Buddhist Principles into Software Design

* Applying Buddhist ethics to software design decisions
* Promoting mindfulness and compassion in user interfaces
* Designing for well-being and reducing unwholesome thought
* Incorporating Buddhist concepts of interconnectedness and interdependence

### Module 4: Case Studies of Buddhist-Inspired Technology * (Past Reflection)

* Examples of successful Buddhist-inspired software applications
* Analysis of their design principles and impact
* Discussion of challenges and opportunities in the field

### Module 5: Developing a Buddhist-Inspired Application * (Process)

* Project planning and ideation
* Prototyping and user testing
* Implementation of Buddhist principles in the application
* Ethical considerations and impact assessment

### Module 6: The Future of Buddhist Innovation * (Looking Forward)

* Emerging trends and technologies in Buddhist-inspired software
* The potential of technology for social and spiritual transformation
* Ethical considerations and challenges for the future

## Assessment Methods

* **Assignments**: Reflective essays, case studies, and programming
projects

* **Shared Discourse**: Group discussion on Buddhist-inspired technologies

* **Final Project**: Development of a Buddhist-inspired software application

## Course Resources

Majjhima Nikāya - Satipaṭṭhāna Sutta




27 changes: 27 additions & 0 deletions KST-ASD-BI-101/cmi5.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<courseStructure xmlns="https://w3id.org/xapi/profiles/cmi5/v1/CourseStructure.xsd">
<course id="https://w3id.org/xapi/cmi5/catapult/lts/course/geology-intro-single-au-basic-responsive">
<title>
<langstring lang="en-US">Introduction to Geology - Responsive Style</langstring>
</title>
<description>
<langstring lang="en-US">
This course will introduce you into the basics of geology. This includes subjects such as
plate tectonics, geological materials and the history of the Earth.
</langstring>
</description>
</course>
<au id="https://w3id.org/xapi/cmi5/catapult/lts/course/geology-intro-single-au-basic-responsive/1"
moveOn="CompletedOrPassed">
<title>
<langstring lang="en-US">Introduction to Geology - Responsive Style</langstring>
</title>
<description>
<langstring lang="en-US">
This course will introduce you into the basics of geology. This includes subjects such as
plate tectonics, geological materials and the history of the Earth.
</langstring>
</description>
<url>index.html</url>
</au>
</courseStructure>
2 changes: 2 additions & 0 deletions KST-ASD-BI-101/cts/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/*.swp
**/node_modules
24 changes: 24 additions & 0 deletions KST-ASD-BI-101/cts/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
HOSTNAME=localhost

DB_HOST=rdbms
DB_NAME=catapult_player
DB_USERNAME=catapult
DB_PASSWORD=quartz

PLAYER_ROOT_PATH=/player
PLAYER_BASE_URL=http://player:3398/player
PLAYER_CONTENT_URL=http://localhost/player/content
# PLAYER_STANDALONE_LAUNCH_URL_BASE=http://localhost/player
PLAYER_KEY=cts
PLAYER_SECRET=player-secret
PLAYER_TOKEN_SECRET=player-token-secret

CTS_SESSION_COOKIE_PASSWORD=replace_with_very-long-string_with-Mu1tip13-Specia!s

LRS_ENDPOINT=http://host.docker.internal:8081/20.1.x/lrs/default/
LRS_USERNAME=dev-tools-xapi
LRS_PASSWORD=dev-tools-xapi-password
LRS_XAPI_VERSION=1.0.3

## Dev Only, set to 0 to allow self-signed certs
NODE_TLS_REJECT_UNAUTHORIZED=1
34 changes: 34 additions & 0 deletions KST-ASD-BI-101/cts/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2021 Rustici Software
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

FROM node:14.17.3-alpine AS client-build
WORKDIR /usr/src/app
COPY --chown=node:node client /usr/src/app
RUN npm ci
RUN npm run build

FROM node:14.17.3-alpine
RUN apk add dumb-init
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY --chown=node:node entrypoint.sh /usr/src/app
COPY --chown=node:node service /usr/src/app
COPY --chown=node:node migrations /usr/src/app/migrations
COPY --chown=node:node --from=client-build /usr/src/app/dist /usr/src/app/client
RUN rm package-lock.json && npm install && npm ci --only=production
RUN npm install -g nodemon
USER node
ENTRYPOINT []
CMD ["dumb-init", "./entrypoint.sh"]
EXPOSE 3399/tcp
28 changes: 28 additions & 0 deletions KST-ASD-BI-101/cts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
![Architecture Diagram](arch.png)

## Running via Docker Compose

After cloning the repository, create a `.env` file in the `cts/` directory. This file needs to include information for the following:

* How to access the LRS to be used for the player *from inside the container*
* The host ports where the CTS and Player can be accessed

For example:

```
HOST_PORT=63399
PLAYER_HOST_PORT=63398
PLAYER_CONTENT_URL=http://localhost:63398/content
PLAYER_KEY=cts
PLAYER_SECRET="an API access secret"
PLAYER_TOKEN_SECRET="some random string"
LRS_ENDPOINT="http://host.docker.internal:8081/20.1.x/lrs/default/"
LRS_USERNAME="dev-tools-xapi"
LRS_PASSWORD="dev-tools-xapi-password"
```

Then run,

docker-compose up --build -d

To build and run the CTS application. Once run it will be available at the `HOST_PORT` mapped in the `.env` as above.
Binary file added KST-ASD-BI-101/cts/arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions KST-ASD-BI-101/cts/certbot/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/log
/etc
9 changes: 9 additions & 0 deletions KST-ASD-BI-101/cts/certbot/check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

docker-compose run certbot \
certonly --webroot \
--register-unsafely-without-email --agree-tos \
--webroot-path=/data/letsencrypt \
--staging \
-d $1

11 changes: 11 additions & 0 deletions KST-ASD-BI-101/cts/certbot/generate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

rm -rf ./certbot/etc

docker-compose run certbot \
certonly --webroot \
--register-unsafely-without-email --agree-tos \
--webroot-path=/data/letsencrypt \
-d $1

docker-compose restart nginx
22 changes: 22 additions & 0 deletions KST-ASD-BI-101/cts/certbot/local/fullchain.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDlDCCAnwCCQCG915XR++czzANBgkqhkiG9w0BAQsFADCBizELMAkGA1UEBhMC
QVUxETAPBgNVBAgMCFZpcmdpbmlhMRMwEQYDVQQHDApBbGV4YW5kcmlhMQwwCgYD
VQQKDANBREwxDDAKBgNVBAsMA1ImRDENMAsGA1UEAwwEVHJleTEpMCcGCSqGSIb3
DQEJARYadHJleS5oYXlkZW4uY3RyQGFkbG5ldC5nb3YwHhcNMTkxMDE2MTM0NDA1
WhcNMjkxMDEzMTM0NDA1WjCBizELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpcmdp
bmlhMRMwEQYDVQQHDApBbGV4YW5kcmlhMQwwCgYDVQQKDANBREwxDDAKBgNVBAsM
A1ImRDENMAsGA1UEAwwEVHJleTEpMCcGCSqGSIb3DQEJARYadHJleS5oYXlkZW4u
Y3RyQGFkbG5ldC5nb3YwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3
GY/ZaqhO1MZ1bywEXldP3fAoHCMPBpEn3t0HO7/FYdn4rEx+BbsZ20SjFc+zRugk
kBuvCdbLEKhwDHzAV4mOXbLurXi+BPOfB93I51zo9V7SoUsyspGEvopknVYcRbkP
BOEuEqtTQc6ad5GqSm44v9VsbrUyczuR7CFvysOp3OAuCmaXYuwFd8Gr29ILdNHV
YU3XU9KKgUeAPxoQLCUZNR0AuVJz5ewGqHKqxPNAwvAg8jfqMjIPRRdSqhYD852q
ad4n18OYPUKKF3jMjYN6DeyUjqXDaUEtLqxVibBM79KubkoIM5/Dg9V20qZM5r4A
K8jhVbNH4Jk4EHB711CpAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAAKqEU1Vt3kj
Tag44hCMCWZDgVpu8zGTYq/2odLETJWH3Er/daUSaAUP1tvKGorLyNd7YONVcOY0
t6NUrtikVZFRbGeLuupgTJxJOFux9CZCPKzaAgwvrQemBYB9WdEiE34zCAee7FCh
EYkUMqzxzDNriTb46NoMJPZ1u27b2kCdBkpl4LUMjo07YcYzUSbtvrRH2FwmswfL
Abq2uzXcUzbSH2TYUoz343vJjdMrkhS2ERzbEi2drU1fIyxOYn+8aeNO1yvQZkRp
NYZ9AA8pbDXhtSPzX4Nvq6b5lgq81N8Uqd6zrVMgKkz662dRMmnAaMnQt00lJmrl
g68QbIwM8u0=
-----END CERTIFICATE-----
27 changes: 27 additions & 0 deletions KST-ASD-BI-101/cts/certbot/local/privkey.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAtxmP2WqoTtTGdW8sBF5XT93wKBwjDwaRJ97dBzu/xWHZ+KxM
fgW7GdtEoxXPs0boJJAbrwnWyxCocAx8wFeJjl2y7q14vgTznwfdyOdc6PVe0qFL
MrKRhL6KZJ1WHEW5DwThLhKrU0HOmneRqkpuOL/VbG61MnM7kewhb8rDqdzgLgpm
l2LsBXfBq9vSC3TR1WFN11PSioFHgD8aECwlGTUdALlSc+XsBqhyqsTzQMLwIPI3
6jIyD0UXUqoWA/OdqmneJ9fDmD1Cihd4zI2Deg3slI6lw2lBLS6sVYmwTO/Srm5K
CDOfw4PVdtKmTOa+ACvI4VWzR+CZOBBwe9dQqQIDAQABAoIBADqoGrg4/fA7I9TN
J5nCq0/vtpby5JxUqz3NnJtLndTa0xxh/iNFLLpMz0E7pI03QvkrnWLG0SO+k2dJ
6NEpeey8wazKr+qX5X/l4jwROmd668SoXVHBePLAo881xDdMcsuH8adz3aTPaSN8
+JJIQ+U0N2gEU1H1LnlB3zhUCbipeW00/cP8h77lheaYbBiqMxEXE3LWpqfRFo3W
139Np/vCerLIrB0IYjU/ayzPex0FBf+lJZlpeLXxVgRhli6d1ZJPws/AgIR02exm
+gmSmEaZZFcpMctavUHTMcgoSmqtCjtMIqDHfjri8J3+s9ioAuoFFJnxMuCz83RC
HR4Zak0CgYEA7WtWG9vqr4B3InvaKlrY6avij7+p7XYiVccx2YXXVY4UWQNfDVJr
+bFXH/YG5Rr/p/bBEuypqaCsqsmLDgc9BjhOyXI/YoRLHxL4FPDf5va1UdziooVv
2BCcBdlV/5POlDxRo/qadshTZwvh8/Kygd6jatnAi4mKu2jl7qVaY/MCgYEAxW3x
Z801Glk2dUPm8W8zOuDhu+kuaA4eaY9uUcrO2csEAgz+AQWrXQrCfBNLR6hXDaDh
a9O7yttDIbuR70sH98ipm5k0iVpoKnL0JaDsOepABfOVazuT7gl115iGuGGKDBIf
A9uanGlLF5PIvaz2VZcjTQ5gdSkUDo5KU8sFC/MCgYEA6YoV792Jow1JI0CVP+iR
SnnrqN8t9gmoiJwiqwf+44eY+F5al64lzD3np+bIrYC7TqtpDIaD9fm5H16VTD1O
h9nHllytgOkFRBHSujae6IBxp48R2DBN7kmYUCCTeY4ZPLOA0z5lxsYTVF/Z6a8o
bJtmQGrl/dxT/TmYRAGfQoUCgYA+vC3elyWNptWYM6h6BaTYy8bPKEyXwgzF7E7Y
7MIIEOvIHwrDlmKaoSWluZfNQF/RM9MNqW1eC4hseqbnzAbPJNNIX0mDb9fzzS1p
m5YU3SvU+E79kSPzmsv4Yz5D7rKoHUX/utOJaifzaQF7zC9GiU0tWikqcZAvA+X4
dGW5IwKBgQCCqWCPdKmwcq+2x+C0g5uU6JyWkBHkmZy54crHu4BaKEId00D/g+C5
IlJ28/C2dLdw3Ikv+3yBKPRVq9LClVxMP14h3iv0UnZ0jU91GhKSsHmF5lArhdnD
1n8+EQReI4ptXwTQ6lvGBg/5e+mHWNe+J4ONs7LIS1HW3o1aaTyfGQ==
-----END RSA PRIVATE KEY-----
8 changes: 8 additions & 0 deletions KST-ASD-BI-101/cts/certbot/renew.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

docker-compose run certbot \
renew --webroot \
--register-unsafely-without-email \
--agree-tos \
--no-random-sleep-on-renew \
--webroot-path=/data/letsencrypt
3 changes: 3 additions & 0 deletions KST-ASD-BI-101/cts/client/.browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
> 1%
last 2 versions
not dead
54 changes: 54 additions & 0 deletions KST-ASD-BI-101/cts/client/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
module.exports = {
env: {
browser: true,
node: true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
parserOptions: {
parser: "babel-eslint"
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",

"vue/max-attributes-per-line": [
"error",
{
// this is arbitrary, the key is to allow multiple on a single line
// but force multiline attributes to all be on a single line
singleline: 6,
multiline: {
max: 1,
allowFirstLine: false
}
}
],
"vue/html-self-closing": "off"
},
overrides: [
{
files: ["*.vue"],
rules: {
indent: "off",
"vue/html-indent": [
"error",
4,
{
baseIndent: 1
}
],
"vue/script-indent": [
"error",
4,
{
baseIndent: 1
}
],
"vue/name-property-casing": "off"
}
}
]
};
23 changes: 23 additions & 0 deletions KST-ASD-BI-101/cts/client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist


# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
Loading