https://github.com/t1/quarkus-quinoa-demo
A simple book catalog management application built with Quarkus and Vue.js built via Quinoa
https://github.com/t1/quarkus-quinoa-demo
Last synced: about 2 months ago
JSON representation
A simple book catalog management application built with Quarkus and Vue.js built via Quinoa
- Host: GitHub
- URL: https://github.com/t1/quarkus-quinoa-demo
- Owner: t1
- Created: 2026-05-11T13:10:38.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-20T14:36:04.000Z (2 months ago)
- Last Synced: 2026-05-20T19:40:25.916Z (2 months ago)
- Language: Java
- Size: 62.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Book Catalog
A simple book catalog management application built with [Quarkus](https://quarkus.io/) and Vue.js.
## Features
- **Backend**: RESTful API built with Quarkus REST and Hibernate ORM with Panache
- **Frontend**: Vue 3 single-page application with Vite, integrated via Quinoa
- **Database**: H2 in-memory database (auto-configured with Dev Services)
- **Full CRUD operations**: Create, read, update, and delete books
- **Sample data**: Pre-loaded with classic books
- **API Documentation**: OpenAPI 3.1 spec with [OpenAPI UI](https://github.com/t1/openapi-ui-next)
## Quick Start
Start the application in dev mode that enables live coding, i.e. code changes (frontend, REST API, whatever) are hot-reloaded:
```shell
./mvnw quarkus:dev
```
Then open:
- **Frontend**: http://localhost:8080/
- **Dev UI**: http://localhost:8080/q/dev/
- **OpenAPI UI**: http://localhost:8080/openapi-ui
- **OpenAPI Spec**: http://localhost:8080/q/openapi
## Testing
E2E tests using Playwright for Java. Tests run against the packaged JAR via `@QuarkusIntegrationTest`.
**Setup (one-time):**
```shell
mvn exec:java -e -D exec.mainClass=com.microsoft.playwright.CLI -D exec.args="install chromium" -D exec.classpathScope=test
```
**Run tests:**
```shell
mvn verify # All tests
mvn verify -Dit.test=BookCrudIT # Specific class
```
**Status:** 11/13 tests passing (2 edit tests disabled pending Vue reactivity investigation)
## Related Guides
- Quinoa ([guide](https://quarkiverse.github.io/quarkiverse-docs/quarkus-quinoa/dev/index.html)): Develop, build, and serve your npm-compatible web applications such as React, Angular, Vue, Lit, Svelte, Astro, SolidJS, and others alongside Quarkus.
- REST Jackson ([guide](https://quarkus.io/guides/rest#json-serialisation)): Jackson serialization support for Quarkus REST. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it
- Hibernate ORM with Panache ([guide](https://quarkus.io/guides/hibernate-orm-panache)): Simplified JPA/Hibernate data access layer with active record and repository patterns
- JDBC Driver - H2 ([guide](https://quarkus.io/guides/datasource)): Connect to the H2 database via JDBC
- Playwright ([docs](https://playwright.dev/)): Modern end-to-end testing framework