Courses in English Server and Web Interface

Build Status Coverage Status

Current Release (v3.0)

Release v3.0 Header

Sprint 3 has been completed and a new version released. Look at the Spring Review for Release notes!

Flutter App

Fore more information on the Flutter app using the server See here.

Motivation

Since there was no really “good” solution besides using NINE (nine.wi.hm.edu) for getting the data for courses english, we decided to implement our own solution. It basically consists of a server - exposing a REST API - and a management interface - with which administrators can easily manage and control the apps contents.

Features

What is the Server and management interface able to do?

Well, the most important things were some kind of data management in the management interface where you could add/delete/edit/import courses. More over the basics object a course can be associated with should be managable. These are for example lecturers, departments and campuses.

One exception in functionality is the course management where you can see the course selections for individual users, start the course lottery (Where for all overbooked courses random users get kicked and the resulting courses for each user get stored, and are retrievable for each user).

Course Management

Course Management Image

Campus Management

Course Management Image

Lecturer Management

Course Management Image

Department Management

Course Management Image

Getting started

Environment variables

The server depends on several environment variables which define API Tokens, the servers port, the database, etc.

You have to look them up in the application.properties file in the Spring boot project under cie-server.

Development

In subfolder cie-server:

In subfolder cie-management-app:

Release

In order to build the server and web management interface you can just use the maven goal clean install -Prelease (with the release profile). Run the maven command in the cie-server subfolder. The build process will automatically build the web application and include it into the resources folder of the spring application. The resulting server application will be placed in the cie-server/target folder.