|
1 | 1 | # Booking Service Demo
|
2 | 2 |
|
3 |
| -This project uses Kotlin and Quarkus, the Supersonic Subatomic Framework. |
| 3 | +This project is intended for demonstration purposes. It proposes a [Solution](./solution.md) to an example [Problem](./problem.md). |
4 | 4 |
|
5 |
| -If you want to learn more about Quarkus, please visit its website: <https://quarkus.io/>. |
| 5 | +The application is a GraphQL API writen in Kotlin and Quarkus. It uses Postgres for persistence. |
6 | 6 |
|
| 7 | +To learn more about this project and try it out, continue reading. |
7 | 8 |
|
8 |
| -## Table of Contents |
| 9 | +Thank you for your interest. Feel free to add questions, comments and suggestions [here](https://github.com/bkuberek/kotlin-quarkus-booking-service-demo/issues). |
9 | 10 |
|
10 |
| -1. [Requirements](./requirements.md) |
11 |
| -2. [Running the Application](./running.md) |
12 |
| -3. [Using the API](./api.md) |
13 |
| -4. [Notes](./notes.md) |
| 11 | + |
| 12 | +## Documentation |
| 13 | + |
| 14 | +1. [Problem](./problem.md) |
| 15 | +2. [Solution](./solution.md) |
| 16 | +3. [Running the Application](./running.md) |
| 17 | +4. [Using the API](./api.md) |
| 18 | +5. [Notes](./notes.md) |
14 | 19 |
|
15 | 20 |
|
16 | 21 | ## Project Scaffolding
|
17 | 22 |
|
18 | 23 | This project was initialized using the command:
|
19 | 24 |
|
20 | 25 | ```shell
|
21 |
| -quarkus create app com.nelo:reservations-service --extension='kotlin,rest-jackson,quarkus-smallrye-graphql,quarkus-jdbc-postgresql,quarkus-hibernate-orm-panache,quarkus-liquibase' |
| 26 | +quarkus create app com.bkuberek:booking-service --extension='kotlin,rest-jackson,quarkus-smallrye-graphql,quarkus-jdbc-postgresql,quarkus-jdbi,quarkus-liquibase' |
22 | 27 | ```
|
23 | 28 |
|
24 |
| -## Related Guides |
25 |
| - |
26 |
| -- Kotlin ([guide](https://quarkus.io/guides/kotlin)): Write your services in Kotlin |
27 |
| -- 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 |
28 |
| -- SmallRye GraphQL ([guide](https://quarkus.io/guides/smallrye-graphql)): Create GraphQL Endpoints using the code-first approach from MicroProfile GraphQL |
29 |
| -- JDBC Driver - PostgreSQL ([guide](https://quarkus.io/guides/datasource)): Connect to the PostgreSQL database via JDBC |
30 |
| -- Hibernate ORM with Panache ([guide](https://quarkus.io/guides/hibernate-orm-panache)): Simplify your persistence code for Hibernate ORM via the active record or the repository pattern |
31 |
| -- Liquibase ([guide](https://quarkus.io/guides/liquibase)): Handle your database schema migrations with Liquibase |
32 |
| - |
33 |
| - |
34 |
| -## Provided Code |
35 |
| - |
36 |
| -### Hibernate ORM |
37 |
| - |
38 |
| -Create your first JPA entity |
39 |
| - |
40 |
| -[Related guide section...](https://quarkus.io/guides/hibernate-orm) |
41 |
| - |
42 |
| -[Related Hibernate with Panache section...](https://quarkus.io/guides/hibernate-orm-panache) |
43 |
| - |
44 |
| -### REST |
45 |
| - |
46 |
| -Easily start your REST Web Services |
47 |
| - |
48 |
| -[Related guide section...](https://quarkus.io/guides/getting-started-reactive#reactive-jax-rs-resources) |
49 |
| - |
50 |
| -### SmallRye GraphQL |
51 |
| - |
52 |
| -Start coding with this Hello GraphQL Query |
53 |
| - |
54 |
| -[Related guide section...](https://quarkus.io/guides/smallrye-graphql) |
| 29 | +Quarkus Extensions |
| 30 | + |
| 31 | +- `kotlin` |
| 32 | +- `rest-jackson` |
| 33 | +- `quarkus-smallrye-graphql` |
| 34 | +- `quarkus-jdbc-postgresql` |
| 35 | +- `quarkus-jdbi` |
| 36 | +- `quarkus-liquibase` |
| 37 | + |
| 38 | +## References |
| 39 | + |
| 40 | +- Quarkus ([guide](https://quarkus.io/)): Learn more about Quarkus, the Supersonic Subatomic Framework. |
| 41 | +- Kotlin ([guide](https://quarkus.io/guides/kotlin)): Write your services in Kotlin. |
| 42 | +- 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. |
| 43 | +- SmallRye GraphQL ([guide](https://quarkus.io/guides/smallrye-graphql)): Create GraphQL Endpoints using the code-first approach from MicroProfile GraphQL. |
| 44 | +- GraphQL Kotlin ([guide](https://opensource.expediagroup.com/graphql-kotlin/docs/schema-generator/writing-schemas/unions)): **Not a quarkus example** (sprint boot), but it is a good reference for implementing graphql on kotlin. |
| 45 | +- JDBC Driver - PostgreSQL ([guide](https://quarkus.io/guides/datasource)): Connect to the PostgreSQL database via JDBC. |
| 46 | +- Quarkus Jdbi ([guide](https://github.com/quarkiverse/quarkus-jdbi)): Makes it possible to use JDBI in native executables. |
| 47 | +- Jdbi ([guide](https://jdbi.org)): Provides convenient, idiomatic, access to relational data in Java. |
| 48 | +- Liquibase ([guide](https://quarkus.io/guides/liquibase)): Handle your database schema migrations with Liquibase. |
0 commit comments