Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status

Olm Client

Client for students to create multiple choice questions to test their knowledge of the stuff they've learned.


An Angular4-based client for olm_api ( which allows:

  • add / modify / delete / undelete / reset modules - a collection of multiple-choice questions
  • add / modify / delete / undelete / reset mcqs - the multiple-choice questions
  • add / modify / delete sessions - test your knowledge against an individual collection of mcqs
  • invite / modify / manage / delete users
  • supports a simple hierarchy consisting of admins and users
  • add / modify / delete exams - arbitrary collection of notes
  • add / modify / delete protocolls - arbitrary flatfile / markdown-based notes for exams to share impressions, tips and help

reset means that old revisions of those items are kept by the server so one can go back and restore an arbitray version

First Steps

0a. Install dependencies

You'll need:

0b. Get going on Angular 4

Check out the great tutorial at

1. Check out the code

# create a directory for your great edits
mkdir olm_client
# get the source code
git clone
cd olm_client
# install dependencies
npm install

There might be some warnings about unmet peer dependencies. Ignore them. They won't stop you ;)

3. Go and get 'em

You should be all set up now. And ready to work on the code. If you run into errors, go ahead and fix them (or report them to me ;) ). Same applies to this documentation which will - with your help - improve over time.

We use the angular cli, which gives you two options how you can see your code in action:

  1. Compile ("transpile") Just-In-Time:

    This will reload the page as soon as a change in code is detected. Those reloads take a bit longer since the code is compiled during loading. This lets you test small changes faster and may be your preferred method for development.

  2. Compile Ahead-Of-Time:

    This will take a while and leave you with a project ready to deploy. Sometimes the aot-compiler finds some errors in your code which were missed by the jit-compiler. So before you commit any changes compile aot and see if you've missed something.

Compile Just-In-Time

Simply run:

ng serve

Your browser will be fired up and the project is served to you.

Compile Ahea-Of-Time

After you compiled the project ahead-of-time the /dist folder will be populated. If you want to deploy the compiled project you'll need to transfer the contents of this folder to your server. Make sure the index.html will be found at the domain's / subdomain's root.

Compile & Uglify:
ng build --prod

Different environments (aka configurations) can be loaded with

ng build --prod -e <your-environment>

Improving the code


olm_api uses semantic versioning (



MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

To mark pre-releases you may add:

  • -rc.[0-9]* for release-candidates
  • -beta.[0-9]* for beta-releases
  • -alpha.[0-9]* for alpha-releases


We have a Travis CI setup on which does the testing, building and deploying for us. Go ahead and read the docs to find more about it. In general changes pushed on branch master will be deployed to Changes pushed to branch develop will be deployed to


Client for students to create multiple choice questions to test their knowledge of the stuff they've learned.







No packages published