https://github.com/buttercms/event-ticketing-app-quarkus
Building an Event Ticketing App with Quarkus & ButterCMS
https://github.com/buttercms/event-ticketing-app-quarkus
Last synced: 4 months ago
JSON representation
Building an Event Ticketing App with Quarkus & ButterCMS
- Host: GitHub
- URL: https://github.com/buttercms/event-ticketing-app-quarkus
- Owner: ButterCMS
- Created: 2022-10-06T23:01:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-15T17:45:10.000Z (over 3 years ago)
- Last Synced: 2026-01-29T22:35:45.735Z (5 months ago)
- Language: Java
- Size: 37.1 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# event-ticketing-app-quarkus
Building an Event Ticketing App with Quarkus & ButterCMS
This is a demo project that integrates [ButterCMS](https://buttercms.com) with [Quarkus](https://quarkus.io).
It mimics a ticketing platform on which clients can book tickets for events added by editor through Butter.
The building process is documented in the [related blog post](https://buttercms.com/blog/quarkus-tutorial-event-app/).
## Important Notice
This project was created as an example use case of ButterCMS in conjunction with a blog article, [Building an Event Ticketing App with Quarkus & ButterCMS](https://buttercms.com/blog/quarkus-tutorial-event-app/), and will not be actively maintained.
If you’re interested in exploring the best, most up-to-date way to integrate Butter into Java frameworks like Quarkus, you can check out the following resources:
### Starter Projects
The following turn-key starters are fully integrated with dynamic sample content from your ButterCMS account, including main menu, pages, blog posts, categories, and tags, all with a beautiful, custom theme with already-implemented search functionality. All of the included sample content is automatically created in your account dashboard when you sign up for a free trial of ButterCMS.
- [Java Starter](https://buttercms.com/starters/java-starter-project/)
- [Angular Starter](https://buttercms.com/starters/angular-starter-project/)
- [React Starter](https://buttercms.com/starters/react-starter-project/)
- [Vue.js Starter](https://buttercms.com/starters/vuejs-starter-project/)
- Or see a list of all our [currently-maintained starters](https://buttercms.com/starters/). (Over a dozen and counting!)
### Other Resources
- Check out the [official ButterCMS Docs](https://buttercms.com/docs/)
- Check out the [official ButterCMS API docs](https://buttercms.com/docs/api/)
# Architecture
The system is organised around Butter and the service that allows clients to book tickets:

## Running the application in dev mode
You can run your application in dev mode that enables live coding using:
```shell script
./mvnw compile quarkus:dev
```
> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
## Packaging and running the application
The application can be packaged using:
```shell script
./mvnw package
```
It produces the `quarkus-run.jar` file in the `target/quarkus-app/` directory.
Be aware that it’s not an _über-jar_ as the dependencies are copied into the `target/quarkus-app/lib/` directory.
The application is now runnable using `java -jar target/quarkus-app/quarkus-run.jar`.
If you want to build an _über-jar_, execute the following command:
```shell script
./mvnw package -Dquarkus.package.type=uber-jar
```
The application, packaged as an _über-jar_, is now runnable using `java -jar target/*-runner.jar`.
## Creating a native executable
You can create a native executable using:
```shell script
./mvnw package -Pnative
```
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
```shell script
./mvnw package -Pnative -Dquarkus.native.container-build=true
```
You can then execute your native executable with: `./target/ticket-service-1.0.0-SNAPSHOT-runner`
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.