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


This is an application by Coveros to demonstrate good software practices. As we say in agile... Working software over comprehensive documentation ... but that doesn't mean we can't have pretty good documentation too.

Quick Start:

  • Install Java if you don't already have it.
  • Clone or download this repo.
    • If you don't know what "clone" means here, just download it.
    • if you download, unzip the downloaded file to its own directory.
  • On the command line in the project directory:
    • run gradlew run to run the server, then open https://localhost:12443/ (it uses a self-signed cert)
    • The first time the system is run, it will create an administrator account with username "administrator", and a password will be generated and shown in the log and stored in "admin_acct.txt" in the home directory.
    • As admin, you can create new employee accounts. Copy the link on the account page and use it when logged out to register a new user as that employee.


R3z consists of a web application and tests. Its goals are:

  • To provide an ecosystem suitable for practicing agile engineering
  • To enable research and innovation in valuable development techniques
  • To meet business needs in a capabilities-oriented way, rather than being tool driven or following the more typical big-design-up-front waterfall methods
  • To provide a demonstration of the results of deep agile internally, as well as for clients and partners

UI Tests:

A run of the UI tests

Pair programming:

pair programming with Matt with TDD pair programming with Matt on generics

Getting started:

Check out the development handbook


What would happen if you built software in the simplest possible way from scratch?

What if our team held quality sacred?

What if we spent all the necessary time to think things through?

What if we incorporated diverse perspectives?

What if testing drove the design?

If we understand that our software is a reflection of our culture, should we not focus on improving that first?

Summary of relevant Gradle commands

  • gradlew alltests - run all the tests in this code, including UI and perf
  • gradlew fasttest - run all the fast tests (unit, integration, API)
  • gradlew uitest - run only the ui tests
  • gradlew jar - build the jar, in build/libs/
  • gradlew run - run the application. Stop with ctrl+c

A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”

-- John Gall (Gall's law)

If you want to build a ship, don't drum up people to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea.

-- Antoine de Saint-Exupery



A timekeeping application written in Kotlin from scratch








No packages published