Projects

2024

Campsite Booking API (Go)

Technologies used: Go, gRPC, PostgreSQL, Goose, Docker, Kubernetes
See GitHub repository

Learning Go
  1. Event-Driven Architecture in Golang

2023

Campsite Booking API (Java, 4th iteration)
  1. Upgraded to Spring Boot 3.
  2. Added entity classes for the DB layer.
  3. Reworked unit and integration tests using explicit given-when-then pattern.
  4. Introduced test containers for integration tests.
  5. Implemented database versioning using Flyway migrations.
  6. Migrated to multi-module Maven project structure.
  7. Applied the API-first design approach.

Read this article for more details.

Technologies used: Java 17, Spring Boot 3, Maven 3
See GitHub repository

Bilberry Hugo Theme
  1. Defined the scope of the v4, a new major release, and implemented it.

Technologies used: Hugo
See GitHub Repository

Learning Go
  1. Distributed Services with Go Workshop
  2. Elements of Programming Interviews in Go

2022

Bilberry Hugo Theme

Made the following contributions:

  1. Added support for Hugo modules.
  2. Implemented various new features, fixed bugs, reviewed pull requests, and updated documentation.

Technologies used: Hugo
See GitHub Repository

Campsite Booking API (Java, 3rd iteration)
  1. Re-wrote unit and integration tests with JUnit 5 in BDD style.
  2. Introduced var syntax for local variables.
  3. Upgraded to Java 17 LTS.
  4. Implemented Campsite domain class/table and corresponding service and repository classes; upgraded API’s contract to v2.
  5. Added the findForDateRange method without pessimistic read locking.
  6. Re-implemented the findForDateRangeWithPessimisticWriteLocking method, added integration tests for concurrent bookings create/update.
  7. Added TOC Generator GitHub Actions workflow.

Read this article for more details.

Technologies used: Java 17, Spring Boot 2, Maven 3
See GitHub repository

Learning Go

Exercises related to the Exercism’s Go track syllabus.

Company Website

Developed company website at https://www.projetsrios.com/.

Technologies used: Hugo Terrassa Theme, Git, Hugo, GitHub, Netlify
See GitHub Repository

CI/CD with GitHub Actions

Automated the following software development workflows:

  1. Workflow for uploading data to Algolia index for the Bilberry Sandbox/Netlify.
  2. Workflow for updating GitHub Pages when using the Bilberry theme as a Hugo module for the Bilberry Sandbox/GitHub Pages.

Technologies used: GitHub Actions

Bilberry Hugo Theme Test Website

Created the Bilberry Sandbox, which helps me develop, test, and maintain the Bilberry theme.

Read this article for more details.

Technologies used: Bilberry Hugo Theme, Git, Hugo, GitHub, Netlify
See GitHub Repository

2021

Bilberry Hugo Theme

Took the role of the official maintainer; made the following contributions:

  1. Automated data upload to Algolia index using JavaScript API client.
  2. Implemented support for custom audio files; co-authored the archive functionality; updated documentation.
  3. Reviewed pull requests.

Technologies used: Hugo
See GitHub Repository

Campsite Booking API (Java, 2nd iteration)

Read this article for more details.

Technologies used: Java 11, Spring Boot 2, Maven 3
See GitHub repository

CI/CD with GitHub Actions

Automated software development workflows for the following personal repositories:

  1. Docker Liferay Portal CE
  2. Campsite Booking API
  3. Vaadin Demo Bakery App
  4. Vaadin Demo Business App

Read this article for more details.

Technologies used: GitHub Actions

2020

Bilberry Hugo Theme

Made the following contributions:

  1. Implemented the series taxonomy and table of contents features.
  2. Automated data upload to Algolia index using Python API client.
  3. Fixed bugs.
  4. Updated documentation.

Technologies used: Hugo
See GitHub Repository

Personal Website

Developed personal website at https://kiroule.com

Read this series for more details.

Technologies used: Bilberry Hugo Theme, Git, Hugo, GitHub, Netlify
See GitHub Repository

2019

Multi-Variant Docker Images for Liferay Portal CE

Updated in 2020, 2021

Read this article for more details.

500K+ pulls
Technologies used: Docker, Debian, Alpine Linux
See Docker Hub Repository
See GitHub Repository

2018

Campsite Booking API (Java)

Technologies used: Java 11, Spring Boot 2, Maven 3
See GitHub repository

Coding Challenges from CodeWars, HackerRank, Codility

Technologies used: Java, Python
See GitHub repository

2016

MyBatis JPetStore (MongoDB)

Exercise to port MyBatis JPetStore from RDBMS/MyBatis to NoSQL/MongoDB and Spring Boot

Technologies used: Java 8, Lombok, Stripes, Spring Boot, Spring Data MongoDB, Maven 3
See GitHub repository

2015

MyBatis JPetStore (Vaadin)

Exercise to port MyBatis JPetStore to Vaadin 7|8 and Spring Boot

Technologies used: Java 11, Vaadin 8, Spring Boot 2, MyBatis 3, Maven 3
See GitHub repository

This project was mentioned in 2016 January’s edition of Vaadin’s Community Spotlight:

Vaadin Community Spotlight