ProRocketeers Logo

Mini Case Study Interview with Lumir Ludvik

Eva KanisováEva Kanisová
|02/23/2023|4 min read

Full-stack developer Lumír Ludvík and his colleague Jan Janeczko have been working on a forestry-sector project for four months. Lumír gave us a tour of their work and even shared a few practical tricks.

Lumír, could you tell us about the project you are working on?

Together with my colleague Honza, I am developing an application for forest management. It gives users complete control over their land from the comfort of home.

What are the app’s features and benefits?

The most important feature is the ability to plant trees, fell them, and then transport the timber from your land. The app also lets users record all the costs associated with the work, including land and service taxes.

Aplikace umožňuje efektivní hospodaření v lesích. Foto: pixabay.com

Users can also explore their land virtually using an additional application written in Unity. It is part of the website, which also has a responsive mobile version.

The app also stores all current and future contracts. So-called “forest experts” handle them through the built-in messenger. Users can also move funds freely between the app and their bank.

Finally, users can apply for a PEFC certificate for the land they own.

PEFC is the world’s most widely used forest certification system. Its standards aim to change how forests are managed locally and globally. The goal is to preserve and expand forests and support sustainable forestry.
PEFC systém podporuje zachování lesů pro další generace. Foto: pixabay.com

What is your developer role, and which technologies do you use?

I am purely a frontend developer. I work with:

Frontend: TypeScript, React.js 18 with a custom framework, Bootstrap, PrimeReact, and our own UI library.

Backend: Java 11, MS SQL.

DevOps: Docker, Nginx, Jenkins, Git.

What have you implemented so far?

The biggest change was moving from the old server-side-rendered application written in JSF to a React.js single-page application. We rewrote all the old features one to one in a faster new package that is easier to maintain and more responsive on mobile devices.

What are you working on right now?

We are redesigning the entire application with a modern look and upgrading our UI library.

Honza Janeczko, Lumírův parťák na projektu

What do you enjoy most about working on the project?

I particularly enjoy optimising the existing solution. I try to strike a very fine balance between the memory and time requirements of our components, which is exactly the case here.

It is often thankless work. You can spend hours debating whether a performance gain is worth the extra memory use and how often a particular piece of code actually runs. But the feeling you get when the app makes full use of all its potential is priceless.

What has been the biggest obstacle so far?

The answer is pretty much the same as to the previous question: optimisation. :)

Sometimes you run into what is probably React’s biggest drawback: unnecessary re-rendering, even though none of our data has changed apart from references in memory.

In these situations, it can be necessary to question the entire architecture and rewrite a large part of the application. But then you have to ask whether that is really necessary. An architecture that is not technically ideal does not automatically mean worse performance or a worse user experience. Reworking it could delay the release for no good reason, just to make something more appealing to programmers.

Jakou cestou se vydat? Zdroj: pixabay.com

Do you have a tip that could inspire other developers?

On the frontend, I can recommend the CASL library for managing user permissions. Its beauty lies in its simplicity. You only need to define a few TypeScript models and keywords to identify the permissions, then wrap your JSX in a simple construct that takes care of the rest of the logic.

If you have not discovered the beauty of Docker and CI/CD yet, remember: running a single script and seeing your changes deployed to your environment moments later can save you a lot of pulled-out hair and painful application testing.

I noticed chilli sauce and Nutella on your desk. Which do you prefer? :)

I like both, but lately I have been going through more Nutella. Every Thursday morning, I make pancakes for the Rocketeers for breakfast. :)

Sehraný tým Lumír a Honza v #rocketcampus Ostrava

Thanks for the interview, and for the delicious pancakes!

All the best!