Skip to content

Commit 4fc1816

Browse files
committed
Changes to README
1 parent 95eb969 commit 4fc1816

File tree

5 files changed

+140
-1
lines changed

5 files changed

+140
-1
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
99
liberapay: # Replace with a single Liberapay username
1010
issuehunt: # Replace with a single IssueHunt username
1111
otechie: # Replace with a single Otechie username
12-
custom: ['paypal.me/passlick'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
12+
custom: ['https://passlickdev.com/redirect?id=4002'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/RESOURCES/logo.png

8.81 KB
Loading

.github/RESOURCES/passlickdev.png

3.27 KB
Loading

CODEOWNERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# This file provides an overview of code owners in this repository.
2+
3+
# Each line is a file pattern followed by one or more owners.
4+
# The last matching pattern has the most precedence.
5+
# For more details, read the following article on GitHub: https://help.github.com/articles/about-codeowners/.
6+
7+
# These are the default owners for the whole content of this repository. The default owners are automatically added as reviewers when you open a pull request, unless different owners are specified in the file.
8+
* @nicopasslick

README.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
<br/><br/>
2+
3+
<p align="center">
4+
<a href=#><img src=".github/RESOURCES/logo.png"></a>
5+
</p>
6+
<p align="center"><b>WWU Learnweb Notifier Service</b></p>
7+
8+
<br/>
9+
10+
<hr />
11+
<p align="center">
12+
<a href="https://github.com/passlickdev/learnweb-notifier/releases"><b>Download Binaries</b></a>&nbsp;&nbsp;–&nbsp;
13+
<a href="#technology">Technology</a>&nbsp;&nbsp;–&nbsp;
14+
<a href="#setup--installation">Setup & Installation</a>&nbsp;&nbsp;–&nbsp;
15+
<a href="#licensing">Licensing</a>&nbsp;&nbsp;–&nbsp;
16+
<a href="https://passlickdev.com/redirect?id=4002">Donate</a>
17+
</p>
18+
<hr />
19+
<br/>
20+
21+
The <b>Learnweb Notifier Service</b> monitors your Learnweb courses and notifies you when new content is available. The service is compatible with [Learnweb](https://www.uni-muenster.de/LearnWeb/learnweb2/) of the WWU University of Münster, which is based on [Moodle](https://moodle.org/). Completely written in C# on the platform-independent .NET Core environment. Developed by Passlick Development.
22+
23+
<br/>
24+
25+
## Technology
26+
27+
### General
28+
Learnweb Notifier retrieves your Learnweb courses regularly and notifies you as soon as there is a new activity in the course, which eliminates tedious manual retrieval of courses for new content. The service runs as a server app on all common operating systems and can be deployed manually or as a Docker container. To run the service, a Learnweb SSO account of the University of Münster is required.
29+
30+
### Modules
31+
32+
The service is divided into separate modules. The purpose of the individual modules is explained below.
33+
34+
#### LearnwebNotifier.Library
35+
The library is the core of the service. It provides basic functionality for the service, like the retrieval of Learnweb courses or the parsing of activities.
36+
37+
#### LearnwebNotifier.Test
38+
This module provides unit tests and test resources for the service and can be used to test the service.
39+
40+
#### LearnwebNotifier.Push
41+
This module implements the library and provides a universal worker service that regularly checks courses and sends push notifications using Pushover.
42+
43+
### Requirements for Courses
44+
To retrieve the latest activities of a course, the "Recent Activities" widget is used, which is usually embedded in the course page. In order for the service to be able to retrieve activities for a course, the widget must be embedded in the course page, otherwise the service will not work for the course!
45+
46+
### Client Notifications (Push)
47+
In this current version, notifications of new activities are sent to your mobile phone as push notifications. This is currently implemented by [Pushover](https://pushover.net/), which is a push service for custom push messages on iOS, Android and desktop. To receive notifications in the current version, a pushover account and the correspondingly installed app is required. Please note that the Pushover service requires a one-time license payment of $5.00. A separate client for receiving and managing activities is planned for future versions of the Learnweb Notifier Service.
48+
49+
### Course Activities
50+
The service retrieves activities from courses and notifies you of new activities. Below you will find the types of activities currently supported.
51+
52+
#### Supported Activities
53+
Every first-level activity in courses, for example ...
54+
* New/updated file in course
55+
* New/updated link in course
56+
* New/updated assignment in course
57+
* Deletion of files/folders/...
58+
* ...
59+
60+
#### Non-Supported Activities
61+
Second-level activities, for example ...
62+
* Activities inside folders
63+
* Assignment upload confirmations
64+
* Forum posts and updates (covered by Learnweb notifications)
65+
* ...
66+
67+
## Setup & Installation (Push)
68+
> Note: Since the service is mainly developed for Linux as a target system, the following installation instructions and software binaries are only available for Linux (using Debian 9 as an example) at this time
69+
70+
### System Requirements
71+
* OS: Linux (e.g. Debian)
72+
The service can run on virtually any host. For example, you can use a vServer instance or a Raspberry Pi!
73+
* RAM: ~50 MB
74+
* Environment: .NET Core 3.1 runtime, Docker (optional)
75+
76+
77+
78+
### Setup Pushover
79+
1. Go to [Pushover](https://pushover.net/) and create an account, if not already existing
80+
2. You have to register an application to receive notifications; just follow [this documentation](https://pushover.net/api#registration) to do so
81+
3. After you created an acount and registered an application, you will receive an `User Key` and `Application API Token`, which will be used later on
82+
4. Download the Pushover App on your desired devices and log-in with your account
83+
84+
### Install with Docker
85+
> Support for Docker coming soon! Please install manually
86+
87+
### Manual Installation
88+
We recommend installing the service with Docker, but the service can also be installed manually. Just follow the steps below.
89+
90+
#### Install .NET Core
91+
The service requires .NET Core 3.1 runtime. Refer to [this documentation](https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-debian9) to learn how to install .NET Core on your system. Below is an example of installing the runtime on Debian 9. Execute the commands in the given order to install the runtime.
92+
93+
```bash
94+
sudo apt-get update
95+
sudo apt-get install apt-transport-https
96+
sudo apt-get update
97+
sudo apt-get install dotnet-runtime-3.1
98+
```
99+
100+
#### Copy Binaries
101+
102+
Head over to the [Releases](https://github.com/passlickdev/learnweb-notifier/releases) and download the latest compiled version. Copy the whole content to a folder of your choice (e.g. your home directory) on your host system and make sure to do this as a non-root user.
103+
104+
#### Run the Service
105+
106+
Change into the directory in which you copied the binaries and run ``dotnet lwnotif-push.dll``. Follow the steps of the Configuration Assistant at the first start of the service to create a config file. After the setup routine, restart the service with the previous command. You are good to go!
107+
108+
It is recommended to run the service in a separate [screen](https://linuxize.com/post/how-to-use-linux-screen/) session. You can also set up the service as a systemd daemon after creating a config file.
109+
110+
111+
112+
113+
114+
## Licensing
115+
116+
Copyright (c) 2020 Passlick Development. All rights reserved.
117+
118+
Licensed under the **GNU General Public License v3.0** (the "License"); you may not use this file except in compliance with the License.
119+
120+
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](./LICENSE) for the specific language governing permissions and limitations under the License.
121+
122+
This project is neither developed by the University of Münster, nor is it related to it. The software uses inofficial ways to retrieve the required data, which could lead to account suspensions. The software is used at your own risk!
123+
124+
125+
<br/>
126+
<hr />
127+
<br/><br/>
128+
<p align="center">
129+
<a href="https://passlickdev.com/en/"><img src=".github/RESOURCES/passlickdev.png"></a>
130+
</p>
131+
<br/>

0 commit comments

Comments
 (0)