Skip to content

Commit

Permalink
Working on the WMP docs
Browse files Browse the repository at this point in the history
  • Loading branch information
wkerckho committed Jan 28, 2022
1 parent ab9b530 commit af8a9aa
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 1 deletion.
14 changes: 14 additions & 0 deletions .docs/docs/wmp/practical.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Practical

## Purpose

The purpose of this component is to provide a minimal implementation of the proposed [Solid Web Monetization provider](https://knowledgeonwebscale.github.io/solid-web-monetization/spec.html).

## Usage

### Docker
The WMP server can be started via Docker:

1. Download the [Docker compose file](https://github.com/KNowledgeOnWebScale/solid-web-monetization/blob/master/docker-compose.yml)
2. Open a shell and browse to the folder where the compose file is located
3. Execute `docker-compose up -d`
26 changes: 25 additions & 1 deletion .docs/docs/wmp/technical.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,28 @@
## How to make this functional?
# Technical

## Stack

### Framework
The WMP Proof of Concept is written in [Kotlin 1.6.10](https://kotlinlang.org) on top of JDK 16. The [Vert.x] toolkit is used as a Web/Micro-service framework (Vert.x can be compared to Node.js).

### Project setup
[Maven](https://maven.apache.org) was used for describing the project dependencies, managing builds and generating the Docker image.

To install all dependencies and compile the project: run `mvn compile` from the project folder `/solid-wmp`.
To generate a Docker image:

1. Override the details for the `to` image repository of the [Jib plugin](https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin) in the file `/solid-wmp/pom.xml`
2. Run `mvn package` from the project folder `/solid-wmp`.

### Libraries
Next to the framework related dependencies, the following additional libraries were used:

library | reason | project link
--------|---------|----------
Feather | Dependency injection framework, makes it easy to extend or replace specific implementation modules | https://github.com/zsoltherpai/feather
Apache Jena | Framework for building Semantic Web and Linked Data applications | https://jena.apache.org

## Extending the Proof of Concept

This Proof of Concept implementation can be used as a starting point for the development of a fully functional Web Monetization provider. Our implementation uses clearly defined interfaces for the various integration points (Open Payments interfacing, Solid Pod, ILP), making it easy to swap out the existing PoC implementation for a real implementation.

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea

0 comments on commit af8a9aa

Please sign in to comment.