{"id":26504519,"url":"https://github.com/devoxx/quarkushipster","last_synced_at":"2025-03-20T20:11:53.856Z","repository":{"id":38761182,"uuid":"187636472","full_name":"devoxx/quarkusHipster","owner":"devoxx","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-01T04:29:37.000Z","size":2461,"stargazers_count":27,"open_issues_count":9,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-16T18:44:59.286Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"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/devoxx.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2019-05-20T12:30:09.000Z","updated_at":"2022-03-31T19:47:52.000Z","dependencies_parsed_at":"2022-08-27T07:50:55.507Z","dependency_job_id":null,"html_url":"https://github.com/devoxx/quarkusHipster","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devoxx%2FquarkusHipster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devoxx%2FquarkusHipster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devoxx%2FquarkusHipster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devoxx%2FquarkusHipster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devoxx","download_url":"https://codeload.github.com/devoxx/quarkusHipster/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244682956,"owners_count":20493093,"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","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":[],"created_at":"2025-03-20T20:11:53.153Z","updated_at":"2025-03-20T20:11:53.843Z","avatar_url":"https://github.com/devoxx.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quarkus JHipster demo project\n\nThis is a basic JHipster Angular CRUD application using Quarkus as the backend service.\n\nCheckout also my related [LinkedIn article](https://www.linkedin.com/pulse/jhipster-quarkus-demo-app-stephan-janssen).\n\nThe backend code is very straight forward and uses the following Quarkus (extensions) :\n - RESTEasy to expose the REST endpoints\n - Hibernate ORM with Panache to perform the CRUD operations on the database\n - MapStruct for DTO mapping\n - FlyWay version control for the database tables\n - ArC, the CDI inspired dependency injection tool with zero overhead\n - The high performance Agroal connection pool\n - Infinispan based caching\n - All safely coordinated by the Narayana Transaction Manager\n - A PostgreSQL database; see below to run one via Docker\n \nThis demo application is based on the Quarkus example project  'hibernate-orm-panache-resteasy' provided by the RedHat team @ https://github.com/quarkusio/quarkus-quickstarts\n\nThanks to the Quarkus (Red Hat), JHipster, GraalVM teams for their amazing work! \n\n\n## Requirements\n\nTo compile and run this demo you will need:\n- GraalVM `1.0 rc16`\n- Apache Maven `3.5.3+`\n\nIn addition, you will need either a PostgreSQL database, or Docker to run one.\n\nIf you don't have GraalVM installed, you can download it here:\n\n\u003chttps://github.com/oracle/graal/releases\u003e\n\nInstalling GraalVM is very similar to installing any other JDK:\njust unpack it, add it to your path, and point the `JAVA_HOME`\nand `GRAALVM_HOME` environment variables to it.\n\nYou should then use this JDK to run the Maven build.\n\n\n## Building the Quarkus backend\n\nDouble check if you have set GraalVM as your JVM\n\n```\n$ export PATH=/Library/Java/JavaVirtualMachines/graalvm-ce-1.0.0-rc16/Contents/Home/bin:$PATH\n$ export GRAALVM_HOME=/Library/Java/JavaVirtualMachines/graalvm-ce-1.0.0-rc16/Contents/Home \n\n$ java -version\n\nopenjdk version \"1.8.0_202\"\nOpenJDK Runtime Environment (build 1.8.0_202-20190206132754.buildslave.jdk8u-src-tar--b08)\nOpenJDK GraalVM CE 1.0.0-rc16 (build 25.202-b08-jvmci-0.59, mixed mode)\n```\n\nNow you can launch the Maven build on the checked out sources of this demo:\n\n\u003e cd backend\n\n\u003e mvn clean package\n\n## Running the Quarkus backend\n\n### Run Quarkus in developer mode\n\nTo run the application in interactive mode (developer mode):\n\n\u003e  mvn quarkus:dev\n\n```\nListening for transport dt_socket at address: 5005\n2019-05-25 10:42:44,149 INFO  [io.qua.dep.QuarkusAugmentor] (main) Beginning quarkus augmentation\n2019-05-25 10:42:44,429 INFO  [io.qua.fly.FlywayProcessor] (build-6) Adding application migrations in path: file:/Users/stephan/java/projects/quarkushipster/backend/target/classes/db/migration/\n2019-05-25 10:42:44,431 INFO  [io.qua.fly.FlywayProcessor] (build-6) Adding application migrations in path: file:/Users/stephan/java/projects/quarkushipster/backend/target/classes/db/migration\n2019-05-25 10:42:44,852 INFO  [io.qua.dep.QuarkusAugmentor] (main) Quarkus augmentation completed in 703ms\n2019-05-25 10:42:45,296 INFO  [org.fly.cor.int.lic.VersionPrinter] (main) Flyway Community Edition 5.2.4 by Boxfuse\n2019-05-25 10:42:45,369 INFO  [org.fly.cor.int.dat.DatabaseFactory] (main) Database: jdbc:postgresql:quarkus_hipster (PostgreSQL 10.5)\n2019-05-25 10:42:45,428 INFO  [org.fly.cor.int.com.DbValidate] (main) Successfully validated 1 migration (execution time 00:00.013s)\n2019-05-25 10:42:45,438 INFO  [org.fly.cor.int.sch.JdbcTableSchemaHistory] (main) Creating Schema History table: \"public\".\"flyway_schema_history\"\n2019-05-25 10:42:45,462 INFO  [org.fly.cor.int.com.DbMigrate] (main) Current version of schema \"public\": \u003c\u003c Empty Schema \u003e\u003e\n2019-05-25 10:42:45,463 INFO  [org.fly.cor.int.com.DbMigrate] (main) Migrating schema \"public\" to version 1.0.0 - HIPSTER\n2019-05-25 10:42:45,487 INFO  [org.fly.cor.int.com.DbMigrate] (main) Successfully applied 1 migration to schema \"public\" (execution time 00:00.050s)\n2019-05-25 10:42:45,789 INFO  [io.quarkus] (main) Quarkus 0.15.0 started in 1.781s. Listening on: http://[::]:8080\n2019-05-25 10:42:45,790 INFO  [io.quarkus] (main) Installed features: [agroal, cdi, flyway, hibernate-orm, jdbc-postgresql, narayana-jta, resteasy, resteasy-jsonb]\n```\n\nIn this mode you can make changes to the code and have the changes immediately applied, by just refreshing your browser.\n\n    Hot reload works even when modifying the JPA entities.\n\n\n### Run Quarkus as a native application\n\nBefore you can do this make sure the native-image tool is create\n\n\u003e gu install native-image\n\n\nCompilation will take a bit longer, so this step is disabled by default;\nlet's build again by enabling the `native` profile:\n\n\u003e mvn package -Dnative\n\nAfter reading a few tweets you'll be able to run this binary:\n\n\u003e ./target/QuarkusHipster-1.0-SNAPSHOT-runner\n\n## Application startup takes longer than 5 seconds?\n\nThis happened to me on two Mac computers, it was related to an [incorrect configuration](https://thoeni.io/post/macos-sierra-java/) of /etc/hosts\nYou can resolve this by adding your hostname to the /etc/hosts localhost, as follows: \n\n```\n##\n# Host Database\n#\n# localhost is used to configure the loopback interface\n# when the system is booting.  Do not change this entry.\n##\n127.0.0.1       localhost   Stephans-MacBook-Pro.local\n::1             localhost   Stephans-MacBook-Pro.local\n```\n\n## Start JHipster front end (Angular 7)\n\nNow that the backend is running we can start the Angular frontend as follows: \n\n\u003e cd frontend\n\n\u003e npm install\n\u003e npm start\n\nNavigate to:\n\n\u003chttp://localhost:9000\u003e\n\nUse admin / admin to do a fake authentication and click on the top menu \"Entities\" and select \"Event\".\n\n---\n## ToDo list\n\n- Add JWT authentication\n- Add management/* REST endpoints\n- Add Metrics REST endpoints\n- Add Swagger, details @ https://quarkus.io/guides/openapi-swaggerui-guide\n- ... \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevoxx%2Fquarkushipster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevoxx%2Fquarkushipster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevoxx%2Fquarkushipster/lists"}