Kopius Runner

UPDATE: Our team won!!!

This year I participated in the Hackaton of my company, Kopius! The goal was to create a game that includes the company branding and where the members can somehow compete.

In order to achieve the goal, we created Kopius Runner! The purpose of the game is to help Lucas collect as many Kopius Coins as possible without falling and without hitting bombs! The more distance you run and the more coins you collect the more score you earn!

Kopius Runner!

Read more

Using TDD to code a small API with Spring Boot 2

This post goes to all those devs that have heard about TDD methodology but have not tried it yet. We will follow the REDGREENREFACTOR cycle to build a really small API to save users to a database that will help you get started with this methodology. If you don’t know what TDD is about, I reccommend the following articles:

TDD Flow
Image taken from: https://blog.telliant.com/integrating-test-driven-development-tdd-benefits-agile-development-process/

If you get lost during the process, you can find the source code for this API in https://github.com/gregodadone/tdd-example-api

I strongly suggest you do not copy-paste my code, and write it by yourself, so you see how the IDE behaves as errors come up and feel the whole experience of doing TDD. Let’s start!

Read more

Getting Started with Git-Flow

What is Git-Flow?

Git-Flow is a branching strategy model that is very used in large projects where several developers are working at the same time. It is also an extension for git to support this new workflow.

How does Git-Flow organize the work?

Git-Flow has two main branches to organize the flow.

  • Master: The main code that is in production.
  • Develop: The branch with the «work in progress», where the next version of the program is being cooked.

Apart from them, there are several auxiliary branches which are of one of the following types:

  • Feature: Branches for new features. They are always based on develop.
  • Release: When we reach an epic and have enough features and code in develop, we create a release branch out of it to start testing, usually in a pre-production environment. If testing passes, we merge this to master with a new tag. If there is any code in this branch from bugfixes that is not in develop, the branch is also merged into develop when merged into master.
  • Bugfix: They can be based on develop or in a release branch, depending on the stage the bug has been found.
  • Hotfix: They are the same as bugfixes, but for bugs found in production. They are based on master, and when merged, they are merged either to master and develop.
  • Support: Experimental branches to support previous releases. More info in Git-Flow FAQs.
Git-Flow Workflow
Image taken from: https://nvie.com/posts/a-successful-git-branching-model/

Read more