Skip to content
@Preben-Norwegian-Community

Preben-Norwegian-Community

pnc - Preben-Norwegian-Community

This is the Github repo of Preben's norwegian community!

The "external" software

The software consists in a Wordpress landing website, that presents the content of the language courses and how it works. After that, there is the main learning website that uses LearnWorlds as a service.

The "coded" software

Each course-level users are divided in groups, that have some live lessons in different days of the week. This logic is external to LearnWorlds, so there was the need to automatize it and make a sort of "wrapper". The software in this Github repo has hence that goal

How does it work

The admin (or the teachers) log in to an external, made in home, platform. Here, they can see all the courses (gotten from LearnWorlds APIs) and handle the groups for each course. So, they can create/edit/remove groups and enroll/unenroll students from those groups.

There are then some webcomponents that interface with this platform and are shown, after the user is logged in, in the courses' pages. These "widgets" allow the users to see the available groups for a course and to enroll/unenroll from the courses.

Through LearnWorlds web-hooks, if a user unenrolls from a course, he is automatically removed from his group.

How was it made

Everything was developed with Typescript.

The repositories are:

  • pnc-api: The APIs of the project. Made with Node.js and Express. They interface with a MongoDB database and with the LearnWorlds APIs. It also hosts an api-sdk, a client published on npm to interface with the APIs in the frontend code.
  • pnc-webapp: The APIs of the project. Made with Vue.js and Vuetify.
  • pnc-webcomponents: The webcomponents shown on LearnWorlds. Made with Vue.js and Vuetify.
  • pnc-learnworlds-snippets: The snippets that are added to LearnWorlds custom code.
  • pnc-deploy: The docker compose and .env.example files for the deploy

How was it deployed

  • Mongo Atlas MongoDB database for the data
  • Npm organization for modules such as the api sdk
  • Digital ocean for hosting the software
  • Docker and Portainer for the deploy of the containers
  • Dockerhub for hosting the docker images

Almost every account is connected to the prebenorwegian@gmail.com email address

Popular repositories

  1. pnc-api pnc-api Public

    The REST Apis of the Preben Norwegian Community software

    TypeScript

  2. pnc-webapp pnc-webapp Public

    The Web App of the Preben Norwegian Community software

    Vue

  3. pnc-webcomponents pnc-webcomponents Public

    The web components of the Preben Norwegian Community software, that are used inside LearnWorlds

    Vue

  4. pnc-learnworlds-snippets pnc-learnworlds-snippets Public

    The LearnWorld snippets of Preben Norwegian Community

    HTML

  5. pnc-deploy pnc-deploy Public

    The deploy of Preben Norwegian Community software

    Shell 2

  6. .github .github Public

Repositories

Showing 6 of 6 repositories
  • pnc-deploy Public

    The deploy of Preben Norwegian Community software

    Shell 0 2 0 0 Updated Mar 11, 2022
  • pnc-learnworlds-snippets Public

    The LearnWorld snippets of Preben Norwegian Community

    HTML 0 0 0 0 Updated Mar 11, 2022
  • pnc-webcomponents Public

    The web components of the Preben Norwegian Community software, that are used inside LearnWorlds

    Vue 0 0 0 0 Updated Mar 11, 2022
  • pnc-webapp Public

    The Web App of the Preben Norwegian Community software

    Vue 0 0 0 0 Updated Mar 11, 2022
  • pnc-api Public

    The REST Apis of the Preben Norwegian Community software

    TypeScript 0 0 0 0 Updated Mar 11, 2022
  • .github Public
    0 0 0 0 Updated Mar 11, 2022

Top languages

Loading…

Most used topics

Loading…