CodeCrafter – Efficient Code Generator for Modern Single-page Web Applications

Authors

DOI:

https://doi.org/10.7251/IJEEC2501001V

Keywords:

code generation, single-page web applications, REST API, relational database

Abstract

Web applications and REST API based applications can be seen as a most common type of application today and their number is constantly increasing. Due to the pressure to produce more code and be faster at producing it, developers have been using various programming languages, libraries and frameworks suitable for such applications. Two of the most popular technologies are Spring on the back-end, and React on the front-end. While each technology provides a satisfiable functionality, the amount of code that needs to be produced is non-trivial, especially in cases where the application has to provide even basic security and auditing functionalities. One solution for this issue is use of code generator tools that produce both back- and front-end code from a model. While a wide variety of generators exist, none of the analyzed ones fulfill all the requirements of a modern web application. In this paper, we present CodeCrafter, a web-based code generation application that produces Spring and React code based on relational data model in DDL or JSON format, and provides developers with simple and efficient tool to generate fully functional foundational code. We compare it to existing code generation tools and measure its performance as a function of number of tables in the database. We show that CodeCrafter produces code in very short amount of time even for very complex databases, while providing features and functionalities not present in other analyzed tools. We also give a short overview of possible use in conjunction with LLM based coding tools.

Author Biographies

  • Danijela Vukosav, Faculty of Electrical Engineering, University of Banja Luka

    Danijela Vukosav received B.Sc. degree in electrical engineering from the Faculty of Electrical Engineering, University of Banja Luka, Bosnia and Herzegovina. She is currently studying for M.Sc. degree at the same institution. She has over four years of experience in full-stack development for web and mobile applications using various back- and front-end technologies. She has  worked on a wide range of projects, including scalable AI-powered platforms, custom CMS solutions, and real-time IoT applications. I’m passionate about building high-performance, user-focused systems, with a strong interest in AI integration and optimizing complex systems for better user experience.

  • Danijela Banjac, Faculty of Electrical Engineering, University of Banja Luka

    Danijela Banjac and M.Sc. degrees in electrical engineering from the Faculty of Electrical Engineering, University of Banja Luka, Bosnia and Herzegovina. She is a senior teaching assistant and PhD student at the Faculty of Electrical Engineering, University of Banja Luka (Bosnia and Herzegovina). She is a member of M-lab Research Group. Her research interests include model-driven software development, business process modelling, object-oriented information systems, and UML. She has published several research papers and articles.

  • Miloš Ljubojević, Faculty of Electrical Engineering, University of Banja Luka

    Miloš Ljubojević received the B.Sc. and M.Sc. degrees in electrical engineering from the Faculty of Electrical Engineering, University of Banja Luka, Bosnia and Herzegovina, and the Ph.D. degree in information technology from the Faculty of Organizational Sciences, University of Belgrade, Serbia. He is an associate professor at the Faculty of Electrical Engineering, University of Banja Luka. His teaching topics are in the fields of computer networks and computer science and informatics.

  • Mihajlo Savić, Faculty of Electrical Engineering, University of Banja Luka

    Mihajlo Savić received the Diploma Engineer, M.Sc. and Ph.D. degrees from the Faculty of Electrical Engineering, University of Banja Luka, Banja Luka. He is currently employed as a Assistant professor for the Faculty and is currently involved in the following areas at the Department of Computer Science and Information Technology: operating systems, information systems, computer networks, and parallel and distributed computing. He has been involved in SEE-GRID, SEE-GRID-2, SEE-GRID-SCI, SEEFIRE, SEEREN2, HP-SEE, EGI-InSPIRE, VI-SEEM, NI4OS-Europe, and SARNET projects.

Downloads

Published

2025-06-24

Issue

Section

Original Research Papers