Admin application for the course editor written in Elm.
During a battle in the Trojan War in Homer's the Illiad, the river god Scamander, furious over the sight of so many corpses in his waters, overflows his banks in an attempt to drown the responsible party, the great warrior Achilles. As Achilles is being swept away under the wall of water, he reaches out for safety, grabbing onto the branch of a great elm tree.
We think this is an interesting metaphor for front-end development in JavaScript.
- authoring-dev - Docker development environment for the course authoring platform
- authoring-client - Typescript/React/Redux editing client
- authoring-server - Java server, REST API, bridge to OLI
- authoring-eval - Typescript/Node dynamic question evaluation engine
-
Install Elm 0.19 using the binary installer from elm-lang.org
-
Clone this project.
git clone https://github.com/Simon-Initiative/achilles.git
- Install it's dependencies
npm install
- Install
elm-format
. This is a community Elm project that enforces the Elm coding standard on every file save.
npm install -g elm-format
- Install
elm-live
. This is a community Elm project that provides a hot-reloading server.
npm install --global elm elm-live@next
-
Install an editor plugin.
-
Update the Keycloak server to allow this new client.
- Log into the Keycloak admin console at dev.local/auth/
- Choose the Oli_security realm
- Create a new client called "admin_client".
- Set root URL and admin URL to be
http://dev.local:7000
- Set the Valid Redirect URL and Web origins to be
*
- Set root URL and admin URL to be
- Edit the web origins of the "account" client to be
*
- Edit the 'manager' account (under 'users' tab) to add the 'realm-management' client role 'realm-admin'.
-
Run the compiler and server.
npm run serve
- Open a browser and visit the application at
http://dev.local:7000
.
This software is licensed under the MIT License © 2019 Carnegie Mellon University