Projects
2024
Campsite Booking API (Go)
Technologies used: Go, gRPC, PostgreSQL, Goose, Docker, Kubernetes
See GitHub repository
Learning Go
2023
Campsite Booking API (Java, 4th iteration)
- Upgraded to Spring Boot 3.
- Added entity classes for the DB layer.
- Reworked unit and integration tests using explicit
given-when-then
pattern. - Introduced test containers for integration tests.
- Implemented database versioning using Flyway migrations.
- Migrated to multi-module Maven project structure.
- 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
- Defined the scope of the
v4
, a new major release, and implemented it.
Technologies used: Hugo
See GitHub Repository
Learning Go
2022
Bilberry Hugo Theme
Made the following contributions:
- Added support for Hugo modules.
- Implemented various new features, fixed bugs, reviewed pull requests, and updated documentation.
Technologies used: Hugo
See GitHub Repository
Campsite Booking API (Java, 3rd iteration)
- Re-wrote unit and integration tests with JUnit 5 in BDD style.
- Introduced
var
syntax for local variables. - Upgraded to Java 17 LTS.
- Implemented
Campsite
domain class/table and corresponding service and repository classes; upgraded API’s contract tov2
. - Added the
findForDateRange
method without pessimistic read locking. - Re-implemented the
findForDateRangeWithPessimisticWriteLocking
method, added integration tests for concurrent bookings create/update. - 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:
- Workflow for uploading data to Algolia index for the Bilberry Sandbox/Netlify.
- 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:
- Automated data upload to Algolia index using JavaScript API client.
- Implemented support for custom audio files; co-authored the archive functionality; updated documentation.
- 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:
Read this article for more details.
Technologies used: GitHub Actions
2020
Bilberry Hugo Theme
Made the following contributions:
- Implemented the series taxonomy and table of contents features.
- Automated data upload to Algolia index using Python API client.
- Fixed bugs.
- 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: