Skip to content

loventures/loplatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The LO Platform

An authoring, teaching and learning environment: An AGPL-licensed open source LMS.

Scala License: AGPL v3 Minimal CI

Getting started

Install prerequisites

To build, you need Java 21, Node 22, SBT and Yarn. To run, you need PostgreSQL 17, OpenSearch and Valkey/Redis.

MacOS with Homebrew

The follow steps assume a modern macOS and Homebrew, but other OS and environments will work too. The default configuration expects that the required services are all available on their standard ports.

Build tools

% brew install openjdk@21 node@22 yarn sbt

Follow the instructions to add node and java to your PATH (or use nvm or jenv or suchlike). Expect that node --version is 22 and java --version is 21.

PostgreSQL

% brew install postgresql@17

Follow the instructions to add PostgreSQL to your PATH and to start the service.

OpenSearch

% brew install opensearch

Follow the instructions to start the service.

Valkey/Redis

% brew install valkey

Follow the instructions to start the service. Redis will also work.

Configure the platform

The platform needs a database, a keystore and some secrets.

Create a database

Create a database and user. You'll need to choose a password for the database user and remember it for later.

% createuser -P ug
Enter password for new role: <dbpass>
% createdb -O ug -E utf-8 underground

If these commands are not found, make sure you added postgres to your PATH above and source your rc file if necessary.

Generate a keystore

Generate a keystore for the Tomcat server. You'll need to choose a password for the keystore and remember it for later.

% keytool -genkey -keystore backend/keystore -alias localhost -dname "CN=localhost" -sigalg SHA256withRSA -keyalg RSA -validity 365
Enter keystore password: <storepass>
Re-enter new password: <storepass>

Write your local config

Create a file backend/deploy/src/main/resources/user.conf. You will need to choose a password for the overlord (super-admin) and test accounts and enter the keystore and database user passwords from above:

overlord.password = "<rootpass>"
de.strap.user.password = "<adminpass>"
keystore.password = "<storepass>"
de.databases.underground.datasource.pass = "<dbpass>"

If OpenSearch required an admin password for setup, add these lines:

opensearch.username = "admin"
opensearch.password = "<ospass>"

Build and publish the frontend locally

The frontend components are built using Vite and then packaged and published locally as JAR files for convenience to the backend.

% cd frontend/
% sbt install build publishLocal

This builds the three frontend packages in parallel, and publishes the resulting artifacts to your local Ivy repository.

Building individual projects

If there are problems with the combined build step, you can build the projects individually using Yarn:

% cd frontend/authoring/ # or platform/ or courseware/
% yarn install
% yarn build

You still need to sbt publishLocal if you build individually.

Build and start the backend

The backend is build with SBT and runs directly in an embedded Tomcat container.

% cd backend/
% sbt -J-Xmx4G
sbt:de> up

After a brief interlude you should see the message "CPXP ready". Log messages are available in logs/detomcat.json.

Log in as super-admin and create a domain

Navigate to: https://127.0.01:8181/control/admin. You'll have to accept the HTTPS security warning.

Login using the username root and the rootpass password you chose above.

Overlord Login

Navigate to Domains, choose Add Domain / Basic Domain.

Under Domain Settings enter the following values:

  • Identifier: lo
  • Name: LO University
  • Short Name: LO
  • Primary Host Name: localhost

Under Profile Settings select the Test Data checkbox to create some test accounts including the local admin.

Domain Creation

Click Submit and wait for the domain to provision. You will be launched into the administration portal for the domain.

Log in as an admin and author some content

Navigate to: https://localhost:8181/. You'll have to accept the HTTPS security warning.

Login using the username admin and the adminpass password you chose above.

Admin Login

Click on the Authoring tab, click New Project, enter a name such as "First Project" and click Create Project.

Project Creation

Create content using the authoring environment.

Authoring Content

Preview content using the Eye of Horus menu.

Student Preview


LO Platform copyright © 2007–2025 LO Ventures LLC. Released under the terms of the AGPL-3.0. For custom licensing, contact us at info @ lo.ventures. For culpability, please see the hall of blame.

About

An authoring, teaching and learning environment: An AGPL-licensed open source LMS.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •