Artificial intelligence-based application build and distribution support system and method
An AI-based system assists in building and distributing hybrid apps across multiple platforms by interacting with users, generating app projects, and providing interactive guidance to overcome development and distribution challenges, enhancing the efficiency of app creation and deployment.
Patent Information
- Application Number
- JP2025048446
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-25
- Filing Date
- 2025-03-24
- Publication Date
- 2025-10-07
- Estimated Expiration
- 2045-03-24
AI Technical Summary
Developers face challenges in creating hybrid apps that can run on multiple platforms like iOS and Android due to the lack of interoperability, requiring separate development efforts and encountering difficulties in building and distributing such apps without adequate support systems.
An AI-based application build and distribution support system that utilizes a chatbot to interact with users, generate app projects, and assist in building and distributing apps across multiple platforms by classifying queries, generating context, and providing interactive guidance to overcome development and distribution hurdles.
The system effectively supports the building and distribution of multi-platform apps by utilizing AI to classify user queries, generate app icons and splash images, debug errors, and provide interactive guidance, reducing the need for multiple developers and simplifying the development process.
Smart Images

Figure 2025148302000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an artificial intelligence-based application build and distribution support system and method. [Background technology]
[0002] Recently, digital transformation has been in the spotlight. Digital transformation refers to the shift of business operations, including our daily lives, to digital using new digital technologies.
[0003] Companies and organizations are increasingly using cloud services instead of building their own servers and operating environments. Using cloud services means that data and resources reside on an external cloud.
[0004] This has brought about a shift to a new work environment where various forms of collaboration and sharing are possible through mobile devices such as smartphones, and the need for business programs that can support collaboration and sharing to adapt to this is rapidly increasing.
[0005] Currently, the market is divided into platforms for mobile application (hereinafter referred to as apps) development and desktop application platforms. As the mobile ecosystem sees the emergence of mobile operating systems that lack interoperability, such as Apple's iOS and Google's Android, the burden of having to develop separate applications for specific operating systems has increased. As a result, hybrid apps, which allow developers to easily create a single app that can be efficiently run on various platforms, such as iOS, Android, and Windows, with a single development, have begun to attract attention.
[0006] All developers must be involved in the series of steps to create, build, and deploy such hybrid apps, but it is not easy for them to be familiar with the contents required for all steps and to handle them smoothly.
[0007] The above-mentioned background art is technical information that the inventor possessed in order to derive the present invention or that he acquired in the process of deriving the present invention, and cannot necessarily be considered as publicly known art that was made public to the general public prior to the filing of the present invention. [Prior art documents] [Patent documents]
[0008] Korean Patent Publication No. 10-2013-0017337 (Published on February 20, 2013) - Hybrid application development platform structure and its testing method, and computer-readable recording medium containing the program Summary of the Invention [Problem to be solved by the invention]
[0009] Therefore, the present invention has been devised to solve the above-mentioned problems, and an object of the present invention is to provide an AI-based app build and distribution support system and method that can utilize an AI-based chatbot to interact with users, generate app projects, and support build and / or distribution.
[0010] Another object of the present invention is to provide an AI-based system and method for supporting the building and distribution of an application, which collects and stores in a database the difficulties encountered in the process of registering information required to generate an application that supports multiple platforms (hereinafter referred to as a multi-platform support application) into the system and correcting errors that occur during the building and / or distribution of the application, and provides interactive guidance to the user to overcome the above-mentioned difficulties.
[0011] Still other problems to be solved by the present invention will be easily understood based on the following description. [Means for solving the problem]
[0012] To achieve the above object, according to one aspect of the present invention, there is provided a computer program stored on a computer-readable medium for performing an artificial intelligence-based method for supporting the building and distribution of apps, the computer program causing a computer to perform the following steps, the steps including: classifying a user query into a corresponding category in response to an API request for the user query input from a chat client via a web interface provided by an app manager that manages and controls an app builder that generates, builds, and distributes apps; generating a context by retrieving context information corresponding to the user query through a database search; generating a prompt for an LLM by calling a service module according to the category and adding the context to a prompt for each service provided by the service module; querying a large-scale language model (LLM) for the LLM prompt via an LLM interface and receiving a corresponding response; and checking the validity of the response and then providing it to the chat client as a response to the user query.
[0013] The category is a command (action) category, and the service module receives parameter values corresponding to functional requests for generating, configuring, building, and distributing an app from the user query, processes the results through the LLM, and provides the results as the response, and can return a JSON string required to execute the app development API as the response.
[0014] The category is an image generation (Image) category, and the service module can generate one or more of an app icon and a splash image when creating or configuring an app, and return a URL or file related to the generated image as the response.
[0015] The category may be a debugging category, and the service module may receive an error log that occurs when building or distributing an application as the user query, or may be invoked through a button provided when an error occurs on the build or distribution screen, and may provide database or internet search results for the error log as the response.
[0016] The method can further include the step of the app manager forwarding a request for application or execution of the app to the app builder based on the response.
[0017] According to another aspect of the present invention, there is provided an AI-based app build and distribution support server that provides AI-based support services to an app build and distribution system including an app builder that generates, builds, and distributes apps and an app manager that manages and controls the app builder, the AI-based app build and distribution support server including: an API gateway that receives an API request regarding a user query input from a chat client via a web interface provided by the app manager, distinguishes a category for the user query, generates a context for the user query, and executes an individual service; a context service module that searches a database for data to add to the context for the user query; an individual service module that adds the context to a prompt for each service provided corresponding to the individual service, and generates a prompt for an LLM; and an LLM interface that queries a large-scale language model (LLM) for the prompt for the LLM and receives a corresponding response, wherein the API gateway checks the validity of the response and then provides it to the chat client as a response to the user query.
[0018] The individual service modules may include one or more of a chat service module that performs general chat functions; a command service module that processes function requests related to app generation, configuration, building, and distribution among the user queries; an image service module that generates one or more app icons and splash images when creating or configuring an app; and a debugging service module that is invoked by inputting an error log that occurs when building or distributing an app, or by inputting a button provided when an error occurs on the build or distribution screen.
[0019] The category is an image generation (Image) category, the individual service module is the image service module, and the image service module can return a URL or file related to the generated image as the response.
[0020] The category is a debugging category, the service module is the debugging service module, and the debugging service module can provide database or internet search results for the error log as the response.
[0021] Based on the response, the app manager forwards a request to the app builder to apply or run the app, and the app builder can build or distribute the app accordingly.
[0022] Further aspects, features, and advantages will become apparent from the following drawings, claims, and detailed description of the invention. [Effects of the Invention]
[0023] According to an embodiment of the present invention, an artificial intelligence-based chatbot can be utilized to interact with users and assist in generating, building, and / or distributing app projects.
[0024] In addition, the system also has the effect of collecting and storing the information required to create a multi-platform support app in the system, and the difficulties encountered in the process of correcting errors that occur during the building and / or distribution of the app, and providing users with interactive guidance to overcome the aforementioned difficulties.
[0025] The effects obtained by the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those having ordinary skill in the art to which the present invention pertains from the following description. [Brief explanation of the drawings]
[0026] [Figure 1] FIG. 1 is a configuration diagram of an application build and distribution system according to an embodiment of the present invention. [Figure 2] This is a diagram illustrating the web development process. [Figure 3] 1 is a flowchart of an application building method according to an embodiment of the present invention. [Figure 4] 1 is a flowchart of an application distribution method according to an embodiment of the present invention. [Figure 5] 1 is a configuration diagram of an artificial intelligence-based application build and distribution support system according to one embodiment of the present invention. [Figure 6] 1 is a flowchart of an artificial intelligence-based application building and distribution support method according to an embodiment of the present invention. [Figure 7] FIG. 1 is a configuration diagram of an application build and distribution system. [Figure 8] 1 is a flowchart of a project creation (VCS sink) method. [Figure 9] 1 is a flowchart of a build method. [Figure 10] 1 is a flowchart of a distribution method. [Figure 11] 10 is an example of a query response for a command category. [Figure 12] 10 is an example of a query response for a command category. [Figure 13] 10 is an example of a query response for a command category. [Figure 14] 10 is an example of a general category query response. [Figure 15] 10 is an example of a query response for the debugging category. [Figure 16] 10 is an example query response for the Image Creation category. [Figure 17] 1 is a diagram illustrating a configuration of a system according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0027] Since the present invention can be modified in various ways and can have multiple embodiments, specific embodiments will be illustrated in the drawings and described in detail, but it should be understood that this is not intended to limit the present invention to the specific embodiments, and that the present invention encompasses all modifications, equivalents, and alternatives within the spirit and technical scope of the present invention.
[0028] When a component is referred to as being "coupled" or "connected" to another component, it should be understood that the component may be directly coupled or connected to the other component, but that there may be other components between them. On the other hand, when a component is referred to as being "directly coupled" or "directly connected" to another component, it should be understood that there are no other components between them.
[0029] Terms such as first and second may be used to describe various components, but the components should not be limited by these terms. These terms are used only to distinguish one component from another. The terms used in this application are merely used to describe specific embodiments and are not intended to limit the present invention. The singular expressions include the plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprise" or "have" are intended to specify only the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should not be understood to preclude the presence or possible addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0030] As used herein, the term "module" includes hardware-implemented units, software-implemented units, and units implemented using both hardware and software. Furthermore, one unit may be implemented using two or more pieces of hardware, or two or more units may be implemented using a single piece of hardware. Meanwhile, the term "module" is not limited to software or hardware; a "module" may reside on an addressable storage medium or implement one or more processors. Thus, by way of example, a "module" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided by the components and "modules" may be combined into fewer components and "modules" or further separated into additional components and "modules." Furthermore, a component and "module" may be embodied to implement one or more CPUs within a device.
[0031] Furthermore, it is natural that the components of the embodiments described with reference to each drawing are not limited to being applied only to the embodiment in question, but may be embodied in a manner that is included in other embodiments within the scope that maintains the technical idea of the present invention, and that even if separate explanations are omitted, multiple embodiments may be re-embodied as a single integrated embodiment.
[0032] In addition, when describing the present invention with reference to the accompanying drawings, the same or related reference numerals will be used to refer to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the present invention, if a detailed description of related known art is deemed to unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.
[0033] FIG. 1 is a configuration diagram of an application build and deployment system according to an embodiment of the present invention, FIG. 2 is a diagram showing a web development process, FIG. 3 is a flowchart of an application build method according to an embodiment of the present invention, and FIG. 4 is a flowchart of an application distribution method according to an embodiment of the present invention.
[0034] The application build and distribution system 1 according to an embodiment of the present invention functions as a universal application platform for digital transformation. Here, an application or an application project refers to an application that supports multiple platforms, i.e., a multi-platform supported application.
[0035] The app build and distribution system 1 enables the development of cross-platform applications that inherit the advantages of hybrid apps. It supports multiple platforms by implementing native functions using web standard technologies. It also provides a plug-in API for native integration for each platform, allowing for native plug-ins for various third-party integrations. For operation and maintenance, it provides app management, distribution, notifications, error / performance monitoring, statistics / charts, collaboration management, big data analysis / prediction, and large-volume distribution functions. In addition, it is an app creation / build / distribution system that supports both iOS and Android environments, minimizing the number of native developers required.
[0036] The application build and distribution system 1 provides native functions for each platform in the form of built-in plug-ins, and can generate applications that support multiple platforms using standard web technologies (JavaScript, HTML, CSS, etc.), and then build and distribute them.
[0037] The app build and distribution system 1 provides the functionality to build and distribute app projects developed using the W-Matrix program developed by the applicant or general Android and iOS projects. Users can generate app installation files using the build function on a web interface without having to install development tools on their PC. In addition, the distribution function provides in-house distribution and store distribution for both Android and iOS platforms. It also provides easy project setting changes (app name, version, icon, etc.) and the addition / removal of plugins.
[0038] Referring to FIG. 1, the application build and distribution system 1 may include an application content creation unit 10, a native plug-in selection unit 20, a build unit 30, and a distribution unit 40.
[0039] The app build and distribution system 1 allows web developers to build Android and / or iOS apps through the build unit 30 without having to create a separate app build environment. Plug-ins provided by the system 1 allow web developers to develop / build / distribute / operate apps that include native functions without the need for a native developer.
[0040] The application content creation unit 10 enables a developer (web developer) to create application content to be provided in the form of a web application. Various web application development tools that enable the development of a web application can be applied to the application content creation unit 10.
[0041] Referring to FIG. 2, in the process of developing a web application, a web standard application can be developed by sequentially going through a project configuration step, a layout configuration step, a screen development step, and a screen test step.
[0042] In the project configuration step, you configure the project for the app you want to develop, build, and distribute.
[0043] In the layout configuration step, various layouts for the app can be configured using a layout wizard or layout templates.
[0044] In the screen development step, the application screen can be developed using functions such as page templates, component wizards, design systems, custom (user-defined) components, etc. In addition, in this embodiment, native plug-in components are provided to function as a multi-platform support application.
[0045] In the screen test step, One Source Multi Use (OSMU) tests can be performed to ensure optimal display on various screen sizes, including PCs, tablets, and smartphones.
[0046] Referring back to FIG. 1, the native plug-in selection unit 20 selects a native plug-in to be additionally applied to the application content created by the application content creation unit 10 in response to an input from the user (developer).
[0047] Web developers can control native plugins through the Web Common Module using standard JS. Native plugins are built-in plugins and can include basic plugins and third-party integration plugins.
[0048] The build section 30 applies the native plug-in selected by the native plug-in selection section 20 to the application content created by the application content creation section 10 in response to the build request for each platform, so that the application content can be automatically built for each platform.
[0049] If a web page is created using app content, the plugin application process is as follows:
[0050] A plugin selected by the native plugin selector 20 can be additionally applied. In this case, the version of the plugin to be applied can be selected. When applying a plugin, it can be applied using a separate CLI (Command Line Interface) tool for each platform. In the case of Android, it can be automatically applied via gradle, and in the case of iOS, it can be automatically applied via a command line tool.
[0051] In addition to adding a plug-in, you can also remove it by selecting the plug-in you want to remove from the list of applied plug-ins. When removing a plug-in, you do not need to select a version; the applied version is automatically selected and removed.
[0052] For the plug-ins selected by the native plug-in selection unit 20, the build unit 30 checks for project plug-in duplication. Then, it reads the plug-in meta information. It can add plug-in dependency information to the project and plug-in meta information to the project. It can copy the plug-in JS file to the project and apply the library and framework files to the project. Then, it can complete the application of the plug-in by copying the necessary resources (images, layouts, etc.).
[0053] After applying the plug-in settings, the build unit 30 proceeds with the project build.
[0054] The detailed build process performed by the build unit 30 is as follows.
[0055] When the build starts, the latest source code is updated via (VCS) Git Pull. Then, the app information is queried within the app. After the queried, the build process is performed and the app is uploaded to the internal distribution server. The app information (build number) is modified, and the source code is committed and pushed via (VCS) Git Push to complete the build. Once the build is complete, the QR code, app files, and log file functions can be provided.
[0056] The distribution unit 40 primarily distributes (internal distribution) the app built by the build unit 30 to the developer via an internal distribution server in a downloadable format (APK, IPA, etc.). If the developer approves, the app is registered in a store for each platform for secondary distribution (store distribution), allowing general users to download, install, and run the app.
[0057] Referring to FIG. 3, during the initial distribution (internal distribution), a download link can be displayed on the screen of the developer's device. The download link can be displayed in the form of a QR code, for example. Therefore, the developer can scan the QR code displayed on the device screen using the camera of a mobile device (e.g., a smartphone) to download and install the currently built app on the mobile device (update the app if necessary) and check whether the build was successful (check whether the plug-in is applied).
[0058] Referring to Figure 4, in the second distribution (store distribution), if the developer approves the app that has been confirmed to have been successfully built through the first distribution, the app built by the build unit 30 can be uploaded to a store for each platform (such as the Apple App Store or Google Play Store). Apps uploaded to the store can be downloaded and installed by general users through their mobile devices.
[0059] In order to generate, build, and distribute an app or app project using such an app build and distribution system 1, technical documentation and guides related to the system and an understanding of the Android and iOS platforms are required.
[0060] App Manager allows you to generate, build, and distribute projects only after generating various profiles (information required for building and distributing app projects) via a web interface. To generate each profile, you must receive certificates, profiles, API keys, etc. provided by Android and iOS, and register them in the App Manager. Furthermore, if an error occurs when building or distributing an app, it can be difficult for anyone other than the app developer to correct the error.
[0061] In this embodiment, the difficulties that users experience when using the application build and distribution system 1 are collected and compiled into a database, and the aforementioned difficulties are overcome through an artificial intelligence-based assistance system (AI Assistant).
[0062] Hereinafter, an artificial intelligence-based application building and distribution support system and method will be described in detail with reference to the related drawings.
[0063] FIG. 5 is a configuration diagram of an artificial intelligence-based application build and distribution support system according to one embodiment of the present invention, FIG. 6 is a flowchart of an artificial intelligence-based application build and distribution support method according to one embodiment of the present invention, FIG. 7 is a configuration diagram of an application build and distribution system, FIG. 8 is a flowchart of a project generation (VCS sync) method, FIG. 9 is a flowchart of a build method, FIG. 10 is a flowchart of a distribution method, FIGS. 11 to 13 are examples of query responses in the command category, FIG. 14 is an example of a query response in the general category, FIG. 15 is an example of a query response in the debugging category, and FIG. 16 is an example of a query response in the image generation category.
[0064] An artificial intelligence-based app build and distribution support system and method according to one embodiment of the present invention can interact with users via an artificial intelligence (AI)-based chatbot to generate, build, and / or distribute apps or app projects.
[0065] The AI-based application build and distribution support system 100 according to this embodiment includes an AI-based application build and distribution support server (Application AI Assistant) 130, and can operate in conjunction with an application manager (Application Manager) 110 included in the application build and distribution system 1.
[0066] The application manager 110 provides a web interface (Web UI) for users and administrators, and manages (controls) the application builder 120 .
[0067] The application manager 110 may include a chat client 111. The chat client 111 is a web interface for providing chat with users, and communicates with an AI-based application build and distribution support server 130 to request user queries and receive corresponding responses.
[0068] Additionally, the application manager 110 may include an API interface 112. The API interface 112 may include an application generation module, an application configuration module, an application build module, and an application distribution module.
[0069] The application builder 120 creates, builds, and distributes applications for multiple platforms such as Android and iOS. The application builder 120 may include a command executor 121 for the multiple platforms to which the application project is applied or executed.
[0070] The AI-based application build and distribution support server 130 is a server that provides chat, command, image generation, and debugging functions to the application manager 110, and can utilize AI-based chatbots.
[0071] When issuing a command through the AI-based app build and distribution support server 130, a work plan can be generated for the initial user query, and queries and responds to LLMs (Large Language Models) in order according to the work plan to generate a response to the query requested by the initial user.
[0072] The API Gateway 131 is a Rest API controller that classifies categories for user queries, generates contexts, and executes individual services. The categories may include general, command, debugging, image generation, etc.
[0073] The Context Service module 132 retrieves data from the DB 230 to populate the context in response to a user query.
[0074] The Chat Service module 133 performs general chat functions, generates prompts to the LLM 210 based on the context of user queries, and processes queries and responses to the LLM via the LLM Interface 134.
[0075] The Action Service module 133 is a service module for processing function requests related to app generation, configuration, building, and distribution among user queries. To execute the API provided by the app build and distribution system 1, parameter values are input by the user via chat and processed via LLM. The response returns a JSON string required to execute the app development API.
[0076] The Image Service module 133 is a service module that generates one or more of an application icon and a splash image when an application is created / configured through the application build and distribution system 1. The Image Service module 133 generates an image based on values required for icon and / or splash image creation input by the user via chat, and returns a URL or file related to the created image.
[0077] The Debugging Service module 133 is a service module that is called by inputting an error log that occurs during application build or distribution, or by input (e.g., pressing) a button (e.g., an AI analysis button) provided when an error occurs on the build / distribution screen. The Debugging Service module searches a database or the Internet for the error log and presents a solution. The response format is a JSON string, and may be a format in which a reference URL is attached in addition to the text (response).
[0078] The LLM Interface 134 is a module that provides an interface with the external service LLM. The LLM Interface 134 may be a Software Development Kit (SDK) that provides a chain that can combine multiple library-based (e.g., LangChain) components used to develop the LLM to create a language model-based application.
[0079] Model I / O provides the interface to the language model. Data connection provides the interface to application specific data. Chains organize the call sequence. Agents allow the chain to select which tool to use depending on user input. Memory maintains the application state while the chain is running. Callbacks record or stream intermediate stages of the chain.
[0080] The external service device may include one or more of a Cloud LLM 210, a logging server (Logging) 220, and a database (DB) 230.
[0081] Cloud LLM210 is a service device that provides generative AI services and may include generative AI tools such as Microsoft's OpenAI and Naver's Clova X.
[0082] The logging server 220 may include a prompt layer, which acts as middleware between LLM (e.g., OpenAI) libraries, logging all API calls and storing associated metadata for easy discovery and retrieval in the dashboard.
[0083] Of the databases 230, the chat history DB stores the chat history during a chat between a user and a chatbot.
[0084] The cache DB stores answers received from past LLMs. Since it is not possible to send all user queries to the LLM, answers already received from the LLM are stored in the cache DB and answered. When a user query comes in, if it is an exact match, the answer can be processed in the cache DB.
[0085] A Search DB is a database for a search engine. The Search DB quickly and accurately searches data such as technical documentation, guides, and API specifications related to the application build and distribution system to generate context that matches user queries. For example, the Search DB can be the ElasticSearch DB for ElasticSearch, a Java open-source distributed search engine based on Apache Lucene.
[0086] Vector Embedding involves extracting various forms of feature data, such as words, sentences, images, and videos, and converting them into high-dimensional vectors. These vectors are stored in a Vector Embedding DB, and can be used to search for and provide the data most similar to a user query through a cosine similarity search. Embedding vectors can be extracted from technical documents and API specifications related to app build and distribution systems, stored in a DB, and used to generate context.
[0087] Hereinafter, with reference to FIG. 6, a method for supporting building and distributing an AI-based application performed by the AI-based application building and distribution support system 100 will be described.
[0088] 1. The application manager 110, particularly the chat client 111, receives a user query (step S200).
[0089] 2. In response to the user query, the chat client 111 forwards an API request to the AI-based app build and distribution support server 130, particularly the API gateway 131 (step S202).
[0090] 3. The API gateway 131 classifies the user query into categories (step S204). The categories may include general (Chat), command (Action), image generation (Image), and debugging (Debugging).
[0091] 4. The context service module 132 searches the DB for data to be added as context for the user query according to the classified category and calls the context (step S206). 4.1 In the case of general chat, if the same query response is found in the cache DB, it can respond immediately.
[0092] 5. The context service module 132 generates a context for the user query according to the search results of the database 230 (step S208).
[0093] 6. Based on the context for the user query, a prompt for the LLM can be generated by adding a context to the prompt for each service (chat service, command service, image generation service, debugging service) (step S210).
[0094] 7. The generated prompt for the LLM is queried from the cloud LLM 210, which is an external service, via the LLM interface 134 (step S212). 7.1 The prompt generated by the Lung Chain can be logged to the logging server 220.
[0095] 8. The response received from the LLM 210 may be checked for validity and a re-query or a response may be generated (step S214).
[0096] 9. The generated response can be provided as a response to the user query made via the API by the chat client 111 (step S216).
[0097] 10. The chat client 111 can execute the API as a result of the response or make a re-query (step S218). 10.1 It can also recommend additional queries for the answer results or check the satisfaction level of the answer.
[0098] 11. In response to a request from the App Manager 110, the App Builder 120 can apply or execute the actual app project (step S220).
[0099] The application or execution process to the application project performed in step S220 will be described with reference to Figures 7 to 10. Here, a manager server (Manager) 310 corresponds to the application manager 110, and a builder (Builder) 320 corresponds to the application builder 120.
[0100] One or more builders 320 can be connected to one manager server 310.
[0101] The manager server 310 is provided via the Web and manages and controls the builder 320 .
[0102] The manager server 310 provides a UI and user data to enable user interface, transmits user commands to the builder 320, and is responsible for build information management.
[0103] The builder 320 is a module that actually builds Android and iOS apps and can also distribute the built apps.
[0104] The builder 320 functions as a build server that actually builds the application, and also performs the necessary functions for building the application, such as linking to version control and uploading artifacts.
[0105] In this embodiment, projects can be created based on templates provided by the system. Also, application projects can be synchronized with a VCS (Version Control System). Application builds, version control, distribution, and plugin management can be performed via the web without the need for a native developer. Projects can be added and modified by linking the source code worked on by developers with the VCS server. Real-time logs of build status can be checked and downloaded. Applications built using a QR code (registered trademark) can be installed.
[0106] A web browser 330 communicates with the manager server 310, runs on a web developer terminal, and can provide a screen (web UI) for users and administrators.
[0107] Settings related to the project / build / distribution can be configured through a web browser 330. Settings can include builder, VCS, FTP, certificates, and the like.
[0108] On the builder setting screen, builder information to be connected to the manager server 310 can be generated. The builder information may include a builder name (enter a name to distinguish it from the selection list), a builder User ID (enter the same ID as the builder YAML setting that is physically configured), user privileges (build, deploy (check whether necessary)), builder URL (URL information of the builder), etc.
[0109] The VCS Settings screen can be used to generate Git / Svn / LocalGit attribute information for a newly created project. VCS information can include VCS name, VCS type (select from Git / Svn / LocalGit), VCS user ID, VCS user password, VCS server URL (VCS connection URL), etc.
[0110] The FTP Settings screen can be used to set FTP attribute information for a newly created project. FTP information can include FTP name, FTP server URL, FTP server IP, FTP server port, FTP user ID, FTP user password, etc.
[0111] The Signing Key setting screen is a screen where you create and store the certificate information and file information required for building a new project. As the certificate file formats for Android and iOS are different, the screen configuration may differ for each platform.
[0112] Common input values may include certificate name, builder ID, platform, domain ID, administrator ID, etc.
[0113] Android certificate input values may include the certificate type (Signing Key Type), build type (Build Type), key alias (Key Alias), key password (Key Password), store password (Store Password), and certificate file (Signing Key file).
[0114] iOS certificate input values may include the SigningKey Type, Certificate Key file path, Certificate Key Password, Debug Profile file path, Release Profile file path, etc.
[0115] The manager server 310 can include an HTTP Servlet Controller, a Websocket Session Message Builder, a Websocket Manager Handler, and a Websocket Server Handler.
[0116] The builder 320 can include a Websocket Client Handler, a Websocket Builder Handler, and an HTTP Client.
[0117] The manager server 310 starts with an HTTP servlet controller communication.
[0118] The parameter information is processed inside the HTTP Servlet controller, and the message is sent to the Web Socket session message generator.
[0119] The builder 320 receives a web socket message from the manager server 310 and passes the parameters to the web socket builder handler, which then passes the message to the build handler and runs the internal process.
[0120] Once the operation is complete, the builder 320 communicates a web socket message to the manager server 310.
[0121] The manager server 310 moves the parameters received from the builder 320 to the manager handler and transmits them to the browser 330 via the web socket server handle.
[0122] The flowchart for project creation, configuration, and import (VCS Sync) is shown in Figure 8.
[0123] The manager server 310 processes parameters required for project creation and transfers them to the builder 320. During transfer, the manager server 310 can perform a DB insert function.
[0124] Based on the parameter values transmitted from the manager server 310, the builder 320 starts generating a project.
[0125] When a project is created, a VCS Checkout / Clone command is executed. At the same time as the command is executed, a message value is sent from the builder 320 to the manager server 310 via the VCS status Websocket.
[0126] Once the VCS checkout / clone operation is complete, the App Config Setting CLI is executed. Similarly, a message value is sent to the manager server 310 via the App Config Status Web Socket.
[0127] Once the app environment setting is complete, proceed to the certificate setting (Signing Key Setting).
[0128] Once the certificate setting operation is complete, the application icon setting operation is performed, and a message value is sent to the manager server 310 via the application icon setting status web socket.
[0129] When the application icon setting operation is completed, a VCS Commit / Push operation is performed. Similarly, a message value is sent to the manager server 310 via the VCS Commit / Push Status Web Socket.
[0130] When the VCS commit / push operation is completed, the project create completion process parameter value is transmitted to the manager server 310 .
[0131] The manager server 310 performs DB update processing using the project generation completion processing parameter values received from the builder 320 .
[0132] The build communication flowchart is shown in Figure 9.
[0133] The manager server 310 processes the parameter values required for building and transfers them to the builder 320. During transfer, the DB insert function is performed.
[0134] The builder 320 performs a build based on the parameter values transmitted from the manager server 310 .
[0135] When a build is executed, a VCS Update / Pull command is executed. At the same time, a message value is sent from the builder 320 to the manager server 310 via the VCS status web socket.
[0136] When the VCS update / pull operation is completed, the application environment inquiry CLI is executed. Similarly, a message value is sent to the manager server 310 via the application environment inquiry status web socket.
[0137] Once the application environment query operation is complete, the build CLI process is executed. Similarly, a message value is sent to the manager server 310 via the build status web socket.
[0138] When the build CLI operation is complete, the application file is uploaded. Similarly, a message value is sent to the manager server 310 via the application file upload status web socket.
[0139] Once the application file upload is complete, the application environment setting process is performed. Similarly, a message value indicating the application environment setting status is sent to the manager server 310 via the web socket.
[0140] When the application environment setting work is completed, the VCS commit / push work is performed. Similarly, a message value is sent to the manager server 310 via the VCS commit / push status web socket.
[0141] When the VCS commit / push operation is completed, the build completion processing parameter value is transmitted to the manager server 310 .
[0142] The manager server 310 receives the build completion process parameter values transmitted from the builder 320 and performs DB update processing.
[0143] The distribution flowchart is shown in Figure 10.
[0144] The manager server 310 processes the parameters required for distribution and transfers them to the builder 320. During the transfer, the DB insert function is performed.
[0145] Distribution is initiated by the builder 320 based on the parameter values passed from the manager server 310 .
[0146] When distribution is performed, the distribution command is executed. At the same time, a message value is sent from the builder 320 to the manager server 310 via the distribution status web socket.
[0147] When the distribution CLI process starts, the app files and app environment information are transferred to the App Store / Play Store.
[0148] Deploy status log data is output, which immediately transmits the Web socket message value to the manager server 310.
[0149] When the app store / play store sends a distribution success or failure value, it receives a corresponding value from the builder 320, and the builder 320 transmits the web socket message value to the manager server 310.
[0150] The manager server 310 receives the distribution completion process parameter value transmitted from the builder 320 and performs DB update process.
[0151] The artificial intelligence-based app build and distribution assistance server 130 according to this embodiment can support query responses for the following categories:
[0152] General: General inquiries about building and distributing apps (see Figure 14)
[0153] Commands: Executing services provided by the application build and distribution system, such as project creation, modification, building, and distribution (see Figures 11 to 13)
[0154] Debugging (Error / Error Log): If an error occurs during build / distribution (release), create a solution for the error through database search and web search (see Figure 15)
[0155] Image Generation: Generate app icons / splash images (see Figure 16)
[0156] FIG. 17 is a diagram showing the configuration of a system according to an embodiment of the present invention.
[0157] 17, the AI-based app build and distribution assistance server 130 includes a processor 410 and a memory 420. The memory 420 stores one or more instructions executable by the processor 410. The processor 410 executes one or more instructions stored in the memory 420. By executing the instructions, the processor 410 can perform one or more of the operations described above with reference to FIGS. 6 to 16. Furthermore, the configurations of the present invention described above with reference to FIG. 5 may be configured to be embodied by instructions executed by the processor 410.
[0158] The AI-based application building and distribution support method described above may also be embodied in the form of a recording medium containing computer-executable instructions, such as an application or program module executed by a computer. A computer-readable medium may be any available medium accessible by a computer, including both volatile and nonvolatile media, and both separable and non-separable media. The computer-readable medium may also include computer storage media. A computer storage medium includes both volatile and nonvolatile, separable and non-separable media embodied in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data.
[0159] The AI-based app building and distribution support method described above may be performed by an application that is pre-installed on the terminal (which may include a program included in a platform, operating system, etc. that is pre-installed on the terminal), or may be performed by an application (i.e., a program) that a user directly installs on the master terminal via an application providing server, such as an application store server, an application, or a web server related to the service. In this sense, the AI-based app building and distribution support method described above may be embodied in an application (i.e., a program) that is pre-installed on the terminal or directly installed by the user, and may be recorded on a computer-readable recording medium such as a terminal.
[0160] Although the present invention has been described above with reference to one embodiment, it will be understood by those skilled in the art that various modifications and variations of the present invention can be made without departing from the spirit and scope of the present invention as set forth in the following claims. [Explanation of symbols]
[0161] 100: Application build and distribution support system 110: Application build and distribution support server 120: App Manager 130: App Builder 210: Cloud LLM 220: Logging server 230: Database (DB)
Claims
1. 1. A computer program stored on a computer-readable medium for performing an artificial intelligence-based application building and distribution support method, the computer program causing a computer to perform the following steps, the steps comprising: Classifying a user query into a corresponding category in response to an API request for the user query input from a chat client via a web interface provided by an app manager that manages and controls an app builder that generates, builds, and distributes apps; searching a database for data to be added as a context to the user query according to the category, retrieving context information corresponding to the user query, and combining the user query with the context information to generate a context for the user query; calling a service module according to the category and adding the context to a prompt for each service provided by the service module to generate a prompt for the LLM; querying a large language model (LLM) via an LLM interface for a prompt for the LLM and receiving a response in response; and checking the validity of the response before providing it to the chat client as a response to the user query; A computer program stored on a computer-readable medium, characterized in that the categories further include, in addition to a general (Chat) category, one or more of a command (Action) category related to function requests related to application creation, building, and distribution, an image generation (Image) category related to application icons or splash images when creating and configuring an application, and a debugging (Debugging) category related to errors that occur when building or distributing an application.
2. The category is a command (action) category, The service module receives parameter values corresponding to a function request for generating, configuring, building, and distributing an application from the user query, processes the parameter values through the LLM, and provides the result as the response.
2. The computer program stored in a computer-readable medium according to claim 1, wherein a JSON string required for executing an application development API is returned as the response.
3. The category is an image generation (Image) category, The service module generates one or more of an app icon and a splash image when the app is created or configured; 2. The computer program stored on a computer-readable medium according to claim 1, wherein the response is a URL or a file relating to the generated image.
4. The category is a debugging category, The service module is called by inputting an error log that occurs during the build or distribution of the application in the user query, or by using a button provided when an error occurs on the build or distribution screen; 2. The computer program stored on a computer-readable medium of claim 1, wherein the response provides the results of a database or internet search of an error log.
5. The computer program stored on a computer-readable medium of claim 1 , further comprising: based on the response, the app manager forwarding a request for application or execution of the app to the app builder.
6. An AI-based application build and distribution support server that provides AI-based support services to an application build and distribution system including an application builder that generates, builds, and distributes applications, and an application manager that manages and controls the application builder, an API gateway that receives an API request regarding a user query input from a chat client via a web interface provided by the application manager, distinguishes categories of the user query, combines searched context information to generate a context, and executes an individual service; a context service module that retrieves the context information, which is data to add to the context, from a database according to the categories classified for the user query; an individual service module that generates a prompt for an LLM by adding the context for the user query generated by combining the user query and the context information to a prompt for each service provided corresponding to the individual service; a large language model (LLM) interface for querying a large language model (LLM) for prompts for the LLM and receiving a response therefrom; the API gateway checks the validity of the response and then provides it to the chat client as a response to the user query; The individual service modules include one or more of: a chat service module that performs general chat functions; a command service module that processes function requests related to app creation, configuration, building, and distribution among the user queries; an image service module that generates one or more app icons and splash images when creating or configuring an app; and a debugging service module that is invoked through input of an error log that occurs when building or distributing an app, or input to a button provided when an error occurs on the build or distribution screen.
7. the category is an image generation (Image) category, and the individual service module is the image service module; The AI-based application build and distribution support server of claim 6 , wherein the image service module returns a URL or a file related to the generated image as the response.
8. the category is a debugging category, and the service module is the debugging service module; The AI-based application build and distribution support server of claim 6 , wherein the debugging service module provides a database or internet search result for the error log as the response.
9. 7. The AI-based app building and distribution support server of claim 6, wherein based on the response, the app manager forwards a request to the app builder regarding application or execution of the app, and the app builder builds or distributes the app in response to the request.