{"id":19763515,"url":"https://github.com/netgrif/nae-backend-application-starter","last_synced_at":"2025-07-30T01:11:10.869Z","repository":{"id":37468581,"uuid":"458162921","full_name":"netgrif/nae-backend-application-starter","owner":"netgrif","description":"Backend Starter project for Netgrif Application Engine","archived":false,"fork":false,"pushed_at":"2025-03-21T09:13:39.000Z","size":457,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T03:51:00.408Z","etag":null,"topics":["java","netgrif","petri-nets","petriflow","spring","spring-boot","workflow"],"latest_commit_sha":null,"homepage":"https://engine.netgrif.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netgrif.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-02-11T11:41:41.000Z","updated_at":"2025-03-21T09:13:42.000Z","dependencies_parsed_at":"2024-01-19T21:24:51.700Z","dependency_job_id":"de6d0a1a-ea95-468d-a1b7-430458d2e133","html_url":"https://github.com/netgrif/nae-backend-application-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/netgrif/nae-backend-application-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgrif%2Fnae-backend-application-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgrif%2Fnae-backend-application-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgrif%2Fnae-backend-application-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgrif%2Fnae-backend-application-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netgrif","download_url":"https://codeload.github.com/netgrif/nae-backend-application-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgrif%2Fnae-backend-application-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267791105,"owners_count":24144895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","netgrif","petri-nets","petriflow","spring","spring-boot","workflow"],"created_at":"2024-11-12T04:09:32.343Z","updated_at":"2025-07-30T01:11:09.771Z","avatar_url":"https://github.com/netgrif.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netgrif Application Engine Backend Starter\n\nThis is a starter project for [Netgrif Application Engine](https://github.com/netgrif/application-engine)\nto make easier to start implementing your own NAE based application.\n\nIt helps if you are familiar with [Spring Boot framework,](https://spring.io/) but it is not necessary to enjoy\npossibilities of process driven application.\n\n## Requirements\n\nThe Application engine has some requirements for runtime environment. The following table is summary of requirements to\nrun and use the engine:\n\n| Name                                                   | Version | Description                                                     | Recommendation                                                         |\n|--------------------------------------------------------|---------|-----------------------------------------------------------------|------------------------------------------------------------------------|\n| [Java](https://openjdk.java.net/)                      | 11+     | Java Development Kit                                            | [OpenJDK 11](https://openjdk.java.net/install/)                        |\n| [Redis](https://redis.io/)                             | 5+      | Key-value in-memory database used for user sessions and caching | [Redis 6.2.6](https://redis.io/download)                               |\n| [MongoDB](https://www.mongodb.com/)                    | 4.4+    | Main document store database                                    | [MongoDB 4.4.11](https://docs.mongodb.com/v4.4/installation/)          |\n| [Elasticsearch](https://www.elastic.co/elasticsearch/) | 7.17+   | Index database used for better application search               | [Elasticsearch 7.17.3](https://www.elastic.co/downloads/elasticsearch) |\n\nIf you are planning on developing docker container based solution you can use our [docker-compose](docker-compose.yml)\nconfiguration to run all necessary databases to develop with NAE.\n\n## Installation\n\nThis project can be used as a base to your NAE application. Before you start coding please consider doing following\nsteps to personalize project:\n\n- Rename root java package\n- Edit maven project attributes in pom.xml, mainly groupId and artifactId\n- Generate security certificates for token encryption\n\nAs it is Java [Maven](https://maven.apache.org/) project it is assumed that you have some experience with Java\nprogramming language.\n\n#### Generate certificates\n\nYou should generate own certificates to encrypt token used by NAE.\n\n```shell\n mkdir -p src/main/resources/certificates \u0026\u0026 cd src/main/resources/certificates \u0026\u0026 openssl genrsa -out keypair.pem 4096 \u0026\u0026 openssl rsa -in keypair.pem -pubout -out public.crt \u0026\u0026 openssl pkcs8 -topk8 -inform PEM -outform DER -nocrypt -in keypair.pem -out private.der \u0026\u0026 cd ../../../..\n```\n\n## Class Description\n\nThe project consists of several important classes to configure NAE to work for your use case. You are free to change its\nnames a configuration.\n\n#### CustomActionDelegate\n\nActionDelegate class is a gateway to inject your custom functions to Petriflow processes. Every public method and\nproperty of this class is available to call from process action. It extends NAE ActionDelegate that contains all Action\nAPI, so you can use all its functionality to even more extend its capabilities.\n\n#### CustomRunner\n\nRunner is special kind of component class that extends CommandLineRunner (or another variants). It is used to run some\nlogic right after application starts but before it is ready to serve requests. NAE call the run method of a runner class\nto execute its logic.\n\nProject contains one runner class to make easier to start. You can use it to import you processes or create process\ninstances.\n\n#### CustomRunnerController\n\nThe class defines order of runners execution. NAE contains some own runner classes to set up the application. There is\nhighlighted area where it is recommended to place your runner classes (like for example the provided one).\n\n#### StarterApplication - Main class\n\nThe main class is to start the whole application but also for overriding bean definition of NAE default spring beans. In\nthe project only two beans are recommended to override `RunnerController` and `ActionDelegate` to start you own\nimplementation.\n\n## Further help\n\nIf you need any help with the project you can write us a help request as\nan [issue](https://github.com/netgrif/application-engine/issues) or engage in\na [discussion](https://github.com/netgrif/application-engine/discussions) in\nthe [NAE repository](https://github.com/netgrif/application-engine).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetgrif%2Fnae-backend-application-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetgrif%2Fnae-backend-application-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetgrif%2Fnae-backend-application-starter/lists"}