Analysis and development of E-Waybill Register

Estonian Forest and Wood Industries Association

Problem and goal

Since 2006, a waybill must be created for every timber transport. In order to eliminate the physical paperwork, a primary digital waybill information system was developed between 2008-2011, named ELVIS. Due to the high usage, there was soon the demand for a more sophisticated system. Developing an up-to-date engine from scratch instead of patching the primary system seemed a more sustainable way to move forward. For reference – there were 364 251 new waybills created in 2019, and the numbers keep growing each year.

The goal of the new E-Waybill Register (EVR) was to cope with the growing usage of the digital register. The solution was to develop an API with which corresponding organizations could interact (request information regarding or create waybills). Furthermore, the API could be used by supervisory bodies via X-Road.

An additional feature of the solution was also an administrative user interface, which could be used by the system administrators to authorize organizations, manage classifiers and generate various waybill-related reports. The administrative user interface could additionally be used by the organizations’ representatives to manage internal accesses.

Domain

Forestry

Keywords

API, waybill

Technologies used

Front

HTML5/CSS, Javascript, Bootstrap

Back

.NET Core ,ASP Net Core, C#

Database

PostgreSQL

Other technologies

Microsoft Azure, Marten ORM, Swagger/OpenAPI, RestSharp, Spectflow

Estonian Timber (EMPL) ordered an E-waybill registry software from AgileWorks. Every timber cargo in Estonia is covered with E-waybills, which provides a constant overview of all the transportations taking place for various parties.

AgileWorks boldly utilizes modern software and architectural patterns (event sourcing and APIs) which suit well with the waybills’ context.

AgileWorks gladly accepted the utilization of a product owner (my role) on the client-side while offering a Scrum Master service in addition to the development team on their behalf. I was pleased to witness excellent cooperation between analysts, developers, and testers. Challenges were promptly resolved as the developers exploited their strong technical knowledge as well as pair programming when necessary.

I was impressed by the test-driven development methodology and the total code coverage with both unit and functional tests. Many software companies acknowledge the importance of automated tests but AgileWorks actually abides by it.

AgileWorks actively proposed and implemented alternative delivery and hosting solutions, which in many cases were cheaper and more suitable compared to the existing ones.

Gunnar Kuhi, Product Owner —
Gunnar Kuhi

Progress, technical solution of the project

The project started with an analysis stage, during which we used the existing system to map the requirements for the final solution. This first stage led to detailed user stories and an architectural model of the desired system. We also developed a prototype for the administrative user interface during the analysis stage.

In order to spot and tackle the potential complications early on, we opted to start the development from the API.

The fact that the main focus of the system was a new API made the project exciting, as modern technologies and methodologies could be applied throughout testing. An experienced product owner who had extensive domain knowledge and who was constantly reachable made the whole experience pleasant.

Priit, Software Tester —
Priit

Agile development principles were followed throughout the project. Regular deliveries every 2-4 weeks gave the client the opportunity to test the various features of the solution.

The codebase was kept modular and optimized throughout the development. A well-thought-out architectural design led to a secure and robust solution, which can handle a voluminous amount of data, yet at the same time is easily interpretable and, if necessary, expandable.

Well-structured work processes and an experienced product owner led to efficient communication throughout the project. This provided a smooth development process which in turn allowed us to keep up with the various intermediary deadlines. Furthermore, constant external and internal feedback strengthened the team spirit.

The most exciting technical challenge involved creating an efficient reporting algorithm based on the big amount of relatively large data models.

Robert, Software Developer —
Robert

More of our projects

Contact us

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Phone: +372 503 7594

E-mail: info@agileworks.eu

Erika 14, 10416 Tallinn, Arsenal Centre 2nd floor

Come to entrance No. 2, located near the A building sign (next to Kalamaja Pagar). Use the phono lock for entering (No. 204, then the green button). Then come up the stairs and over the roof according to the instructing signs.