Open-Source ERP

Development of an Inventory Management App for Startups and Open-Source Release


Yugo Kuzuhara

Yugo Kuzuhara


We have developed an inventory management application.
Previously, businesses managed everything in Excel, which was both time-consuming and costly.
By switching to an application which operates in a web browser,
it is possible to improve production efficiency through systemized control and standardized work.
Moreover, by offering this app as open-source software,
add-ons can be used to expand the app to suit the business scale,
making it possible to create a tool which best suits your business.

Figure: Outline

Application Screens

Figure: Application Screens

About the Technology Used

Adoption of client-side MVC framework (AngularJS) and REST API implementation/ asynchronous response processing (Play Framework)

Existing ERP systems have an excessive number of functions as they are used by startups and this can reduce performance. Our inventory management app is created as a Single Page Application so AngularJS is adopted as the client-side MVC framework. Combined with asynchronous response through Play Framework, we have achieved an app which can be used as an ERP system stress-free. Furthermore, all API are provided in REST so that the app can be used not only on web interfaces but also as a smart device app, etc. through individual expansion. Moreover, due to providing this app as open-source software, all of the used library groups are configured on OSS.


Experimental Usage of a Database Access Library in Asynchronous IO

In database connections from applications which use conventional JDBC (synchronous IO), it is not possible to proceed to the next step until processing is complete, and in the meantime, the thread is locked. Consequently, the IO can become a bottleneck particularly in regards to large-scale applications. This is a problematic issue. In recent years, the approach of DB access using asynchronous IO for this portion has been adopted on multiple OSS and of these, we have chosen to experimentally implement DB access using asynchronous IO which uses a library called ScalikeJDBC-Async (utilizes postgresql-async). It has been confirmed in a simple processing performance comparison that DB access is much faster when an asynchronous IO is used and we plan to conduct more verifications in the future.

Figure: System Overview

Background of Decision to Participate in Program

The wishes of Yugo, who wanted to develop open-source software in a full-stack,
collaborating with members other than engineers,
and KIWI.KI, who was sensing there were problems with the inventory management framework
but didn’t have the time to do anything about it.
There was no immediate need for new development with the existing projects
so we were put in charge of this project, which was high in priority.

Figure: Background of Decision to Participate in Program

Prototype Background

  • Photo: Prototype Background
  • Photo: Prototype Background
  • Photo: Prototype Background
  • Photo: Prototype Background
  • Photo: Prototype Background
  • Photo: Prototype Background
  • Photo: Prototype Background
  • Photo: Prototype Background

Moving Forward

Figure: Moving Forward

As open-source software,
we will continue development of function expansion such as implementation of a reporting function
and incorporation of other functions necessary for business resource management.
In parallel, we will perform maintenance for bug correction and performance improvement
to createan application easier to use in the field.