Lab-01 Eclipse & Java

The objective of this lab is to install and configure your development workstation and to bring into focus some of the terms and concepts covered in the opening lecture.
Lab-02 CLI & Classes

Evolve the application developed in lab01 into a simple command line app. Incorporate commands for creating, deleting and listing users. Explore List, ArrayList, Map, HashMap in this context and introduce the guava and cliche libraries.
Lab-03 Objects & Serialization

Extend the pacemaker application to include Activity and Location classes + associated commands. Once these are in place, incorporate a serialization mechanism to enable users & activities to be persisted to a file. We will then try to generalize this mechanism, which will enable us to experiment with alternative serialization formats.
Lab-04 Testing

Equip Pacemaker with JUnit libraries and then introduce a range of tests to verify essential features. Correct issues that arise as a result of the tests, becoming familiar with the fail/pass/refactor/pass cycle. Review the outstanding command set of the application. We will use JUnit 4 in this lab.
Lab-05 Refactoring

Refactor pacemaker to employ uuid instead of long ids. Unsure the tests as still passing as we make this transition. Make a start command line formatting features.
Lab-06 Maven

In the previous lab, you installed Maven. In this lab, we will incorporate Maven into our pacemaker-console-lab05 solution. We will also use Maven to bring JUnit5 capabilities into Eclipse.
Lab-07a Pacemaker Models

Build a sample solution to Assignment 1, using TDD techniques, Maven & Eclipse
Lab-07b Pacemaker API

Complete the pacemaker assignment solution.
Lab-08 Skeleton

Develop a baseline for Assignment 2, to include a simplified version of pacemaker application developed so far
Lab-09 Rest API

Evolve a simple Rest service from the existing pacemaker-skeleton app using the Javalin microframework.
Lab-10 Rest CLI

Implement a new project that will be a client of the pacemaker-skeleton application.
Lab-11 Rest Test

Complete the API + write a range of unit tests to exercises the features. Deploy the service to the cloud.
Lab-12 Kotlin

Introduce a new project, an implementation of the service in Kotlin.