Collection of tools to support digital teaching with a focus on privacy.
Go to file
Kurdey 3d3df2d944 Refine docker file to have fewer layers 2023-12-14 13:18:16 +01:00
bin Refine docker resources according to #188 2023-12-14 13:04:20 +01:00
doc/examples Update Screenshot - V2 2020-12-23 14:55:56 +01:00
html Update: Markdown without Yaml 2021-01-03 16:58:01 +01:00
main Update locales 2023-01-08 05:09:25 +00:00
server Improved handling to support other modules. 2022-06-04 10:13:40 +02:00
.drone.yml Correcting the Dockerhub account for automated builds 2022-03-01 02:29:37 +01:00
.gitignore Refine docker resources according to #188 2023-12-14 13:04:20 +01:00
App.vue Refs #70: Auto select language based on browser 2022-10-24 21:41:32 +02:00
Dockerfile Refine docker file to have fewer layers 2023-12-14 13:18:16 +01:00
LICENSE MEVN STack 2020-02-16 13:52:49 +01:00
README.md Refs #70: Add new language selection screen 2022-10-24 21:19:12 +02:00
app.config.example.js Completed implementation of #81 + #90 2022-06-01 18:03:40 +02:00
app.js Reorder imports 2022-12-08 21:59:33 +01:00
consts.js Activated Norwegian Bokmål 2022-12-10 06:33:18 +01:00
docker-compose.yml Refine docker resources according to #188 2023-12-14 13:04:20 +01:00
logger.js Propose logger utility 2023-03-01 12:53:20 +01:00
old-lock Changes in Consts.js in order to ensure proper upload 2021-06-29 09:33:25 +02:00
package.json bump lerntools version to 0.9.1 2023-01-20 09:19:33 +00:00
server.config.example.json Implementing all templates + Welcome mail. 2022-05-31 19:29:52 +02:00
server.js Improved handling to support other modules. 2022-06-04 10:13:40 +02:00
webpack.common.js Update webpack and plugins + loaders to Webpack 5 2022-06-18 15:42:16 +02:00
webpack.dev.js Update webpack and plugins + loaders to Webpack 5 2022-06-18 15:42:16 +02:00
webpack.prod.js Update webpack and plugins + loaders to Webpack 5 2022-06-18 15:42:16 +02:00
yarn.lock Added language da 2022-12-04 09:05:24 +01:00

README.md

Übersetzungsstatus

LernTools - Tools for digital teaching with a focus on privacy

There are many good tools on the internet that support collaborative learning - but unfortunately they often use trackers or involve resources from third parties. This situation was the starting point for developing simple tools that do not process any personal data of students and do not track them or their actions.

Main menu

Components of the application

The application is strictly modularized, where the following modules are available in separate repositories:

  • abcd: Interactive quiz, technically spoken an simple audio response system (a bit like kahoot)
  • ideas: Collaborative online brainstorming for groups of students (a bit like padlet)
  • projector: Online projector - allow students to transfer photos to the lecturer's browser.
  • survey: Survey tool - create simple surveys with three question types (yes / no, agreement, free text)
  • about: About Information - add personalized information to your instance

Certain modules are deprecated and not supported anymore:

  • tex: Tex Trainer - exercise the TeX syntax for math formulas
  • pairs: Image pairs - search matching images online with others

Students in general do not have to register, all apps can be accessed by qr-code or link + ticket.

Technical basics

The learning tools are a "full-stack Javascript" application. This means that only Javascript is used on both the server and the client. Unfortunately, that means that the application won't run in the classic LAMP stack - you will need a MEVN stack (MongoDB - Express - Vue - Nodejs) instead. The advantage is that as a developer you only have to master one programming language and modern web technologies (such as web sockets) can be used directly and easily.

The application bases on the following components:

  • Nodejs: Runtime environment for server-side Javascript (see also https://nodejs.org/en/)
  • Express: Server-side framework for developing web applications using Javascript (see also https://expressjs.com/).
  • Vue: Cient-side JS-framework, similar to Angular or React (currently Version 2)
  • MongoDB: Non-relational database, which can be used to save documents at a piece (without paying attention to the classical normal forms ...). This simplifies the development significantly, since objects can be stored directly. The framework Mongoose is used to connect nodejs and monbgodb.
  • Bootstrap: Extensive CSS (and Javascript) framework, which allows easy design of ergonomic and responsive surfaces.
  • katex: Representing mathematical formulas (TeX syntax) in the browser (via Javascript)

Documentation

See Wiki

License

GNU General Public License v3.0

Dependencies

As noted in Technical basics, Lerntools use several different external libraries and components. These libraries are released on own licenses which we want partly to explicitly attribute here:

Disclaimer of Warranty (see GNU General Public License v3.0)

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

Limitation of Liability (see GNU General Public License v3.0)

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.