{"id":14988280,"url":"https://github.com/apache/causeway-app-helloworld","last_synced_at":"2025-10-11T04:11:54.509Z","repository":{"id":65979279,"uuid":"195791620","full_name":"apache/causeway-app-helloworld","owner":"apache","description":"Apache Causeway™ software is a framework for rapidly developing domain-driven apps in Java. This repo contains a sample app to help you quickly learn the essentials of the framework.","archived":false,"fork":false,"pushed_at":"2025-07-08T16:26:22.000Z","size":357,"stargazers_count":9,"open_issues_count":0,"forks_count":8,"subscribers_count":8,"default_branch":"v3-jpa","last_synced_at":"2025-10-06T00:36:28.731Z","etag":null,"topics":["ddd","domain-driven-design","graphql","java","naked-objects","rad","rapid-application-development","restful-objects","web-framework"],"latest_commit_sha":null,"homepage":"https://causeway.apache.org/","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-07-08T10:40:28.000Z","updated_at":"2025-07-08T16:20:33.000Z","dependencies_parsed_at":"2024-03-24T16:28:05.330Z","dependency_job_id":"8e9e2f87-7346-4858-bf81-69d797763ca4","html_url":"https://github.com/apache/causeway-app-helloworld","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/apache/causeway-app-helloworld","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcauseway-app-helloworld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcauseway-app-helloworld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcauseway-app-helloworld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcauseway-app-helloworld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/causeway-app-helloworld/tar.gz/refs/heads/v3-jpa","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcauseway-app-helloworld/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006258,"owners_count":26084060,"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-10-11T02:00:06.511Z","response_time":55,"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":["ddd","domain-driven-design","graphql","java","naked-objects","rad","rapid-application-development","restful-objects","web-framework"],"created_at":"2024-09-24T14:16:24.651Z","updated_at":"2025-10-11T04:11:54.504Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= HelloWorld\n:toc:\n:toc-placement!:\n\nimage:https://github.com/apache/causeway-app-helloworld/workflows/Build%20w/%20Maven%20+%20Jdk%208/badge.svg[]\nimage:https://github.com/apache/causeway-app-helloworld/workflows/Build%20w/%20Maven%20+%20Jdk%2015/badge.svg[]\n\nThis is a minimal link:https://causeway.apache.org[Apache Causeway] application, intended as a starting point to learn what the framework is all about.\n\n[TIP]\n====\nFor real-world development, we recommend you instead start with the link:https://github.com/apache/causeway-app-simpleapp[SimpleApp] starter app.\n\nIt provides more structure and includes examples of fixtures, unit tests, integration tests, and BDD (Cucumber) specs.\n====\n\ntoc::[]\n\n== Quick start\n\n* install prereqs:\n\n** Java 21 LTS (eg link:https://adoptopenjdk.net/[Adopt OpenJDK] distribution)\n** Maven 3.9.10 or later (http://maven.apache.org/download.cgi[download])\n* download and unzip\n+\n[source,bash]\n----\nAPP=helloworld\nBRANCH=master\n\nREPO=causeway-app-$APP\ncurl \"https://codeload.github.com/apache/$REPO/zip/$BRANCH\" | jar xv\nmv $REPO-$BRANCH $REPO\ncd $REPO\n----\n\n* Build using Maven:\n+\n[source,bash]\n----\nmvn clean install\n----\n\n* Download the `spring-instrument.jar` for load-time weaving (discussed in more detail xref:#orm-support[below]):\n+\n[source,bash]\n----\nmvn dependency:get -DgroupId=org.springframework -DartifactId=spring-instrument -Dversion=XXX\n----\n+\nChange \"XXX\" to the value that `${spring-framework.version}` resolves to in the webapp `pom.xml`\n\n* Run using Maven:\n+\n[source,bash]\n----\nmvn spring-boot:run\n----\n\n* Browse to http://localhost:8080.\n\n* Login using:\n\n** username: `sven`\n** password: `pass`\n\n+\nThe app runs with H2 running in-memory.\n\n\n\n[#orm-support]\n== ORM Support\n\n// EclipseLink : START\n\nThis version of the application uses EclipseLink JPA as its ORM, configured with load-time weaving.\nThis requires that the application be run with a Java agent.\n\nThe spring-boot plugin is configured to run with this agent already.\nIf you want to run from an IDE:\n\n* first, you might wish to copy the file locally:\n+\n[source,bash]\n----\ncp ~/.m2/repository/org/springframework/spring-instrument/XXX/spring-instrument-XXX.jar lib/spring-instrument.jar\n----\n+\nChange \"XXX\" to the value that `${spring-framework.version}` resolves to in the webapp `pom.xml`\n\n* Then specify the agent as a VM option:\n+\n[source,bash]\n----\n-javaagent:lib/spring-instrument.jar\n----\n\n// EclipseLink : END\n\n\n\n// DataNucleus : START\n\n//This version of the application uses DataNucleus as its ORM, which requires that any entities are \"enhanced\", a post-compile process.\n//\n//Normally this is done as part of a \"mvn clean install\", but the entities can also be enhanced explicity using:\n//\n//[source,bash]\n//----\n//mvn -pl module-simple datanucleus:enhance -o\n//----\n//\n//This is useful to know if the application or integration test fails to bootstrap, complaining of \"unenhanced entities\".\n//\n//TIP: You can also use `enhance-all.sh`\n\n// DataNucleus : END\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcauseway-app-helloworld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fcauseway-app-helloworld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcauseway-app-helloworld/lists"}