
Introduction
First part of the OmniBox course is OmniTDD. It’s repository with applications which can be used for learning TDD in Java. Each application consists of 4 levels of exercises with increasing difficulty and fully working application with a kind of user interface. Every one has a working version on the master
branch and 4 different exercises - called levels:
Level 1
almost complete application with one or two missing functionalities and implemented tests
Level 2
most of the features are not implemented, the tests contain only examples and method signatures
Level 3
all test are missing, one or two functionalities implemented as examples
Level 4
only interfaces are provided
Diffs
Because we use git
, the student can easily check the missing code and use it as a tip for resolving exercises. These tips are helpful when a student attempts to exercise at home on their own initiative - this prevents deadlocks and allows them to review exercises on their own.
Terminal
git diff -R easier_branch path/to/file

IntelliJ IDEA
Show Diff with Working Tree command with easier branch

Merge Requests
Every student can push their work to a remote repository hosted on GitLab and create a Merge Request. The Merge Request shows exactly what changes were introduced, review them and add comments to specific part of the code. The remote repository is always
available for you.
Change
make changes in the project
Commit
commit your changes
Push
push your changes to the private branch in remote repository
Merge Request
create merge request from your private branch to master branch in your repository
Gitlab & CI
Continuous Integration with tests and static code analysis
At each level, we have prepared a CI environment which builds the code, tests it and performs static analysis of student’s changes. Without installing any additional tools or trainer assistance, students can get results from CI and fix code by themselves. This shows them how it works
in real development environment and prepares for real-life challenges in the future.

Register
Start is pretty easy. Follow below steps to get exercises and start work. Then just good luck and have fun.
Get exercises
Clone OmniTDD project to your workstation
Enjoy
Do exercises on your level
and improve your skills
Chat
Login to chat using Cognito
and share your thoughts
Happy students
Projects completed
Average rate in % on offline courses
Team
Chat - @kwal
Chat - @wpater
Future
Incomming features:
Applications
more different applications (Classifields, Markdown Generator)
Documentation
more detailed description for each prepared test case
Mocks
structure for more demanding mocks
CI
integration tests in CI