Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tsegismont/vertx-musicstore
A demo Music Store with Eclipse Vert.x and RxJava3
https://github.com/tsegismont/vertx-musicstore
couchbase postgresql rxjava vertx
Last synced: 2 days ago
JSON representation
A demo Music Store with Eclipse Vert.x and RxJava3
- Host: GitHub
- URL: https://github.com/tsegismont/vertx-musicstore
- Owner: tsegismont
- License: apache-2.0
- Created: 2017-01-17T17:24:38.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-17T17:14:53.000Z (2 months ago)
- Last Synced: 2024-12-16T19:12:33.041Z (10 days ago)
- Topics: couchbase, postgresql, rxjava, vertx
- Language: Java
- Homepage:
- Size: 402 KB
- Stars: 68
- Watchers: 9
- Forks: 28
- Open Issues: 0
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
- vertx-awesome - Vert.x Music Store - An example application on how to build Vert.x applications with RxJava. (Examples)
README
= The Music Store
:figure-caption!:A demo Music Store with Eclipse Vert.x and RxJava
[cols=2,frame=none,grid=none]
|===a|
:figure-caption!:
.Welcome Page
image::welcome-page.png[Welcome]a|
:figure-caption!:
.Album page
image::album-page.png[Album]|===
== Runnning
If you only want to try the application without modifying it, run the build and start the components with `docker-compose`.
[source,shell]
----
mvn clean package
docker-compose up
----When all components are up browse to http://localhost:8080.
Otherwise start each component individually.
=== The Postgres database
[source,shell]
----
docker run --rm --name musicstore-db -e POSTGRES_USER=music -e POSTGRES_PASSWORD=music -e POSTGRES_DB=musicdb -p 5432:5432 postgres
----=== The MongoDB server
[source,shell]
----
docker run --rm --name musicstore-mongo -p 27017:27017 mongo
----=== Development
* Do one time build to pull the dependencies `mvn clean install`
* To run the application in foreground do `mvn vertx:run` with redeploy enabled
* To run the applicaiton in background mode i.e. vertx start do `mvn vertx:start`Check https://reactiverse.io/vertx-maven-plugin/[vertx-maven-plugin] for more information and
examples on the plugin.== Useful stuff
=== Initial dataset
The initial dataset has been created with the `initdb.groovy` script located at the project root.
It parses a https://wiki.gnome.org/Apps/Rhythmbox[Rhythmbox] database file and inserts the data into Postgres.Then it's easy to create a script for Flyway.
[source,shell]
----
docker exec musicstore-db pg_dump -a --inserts --exclude-table=schema_version -h 127.0.0.1 -U music musicdb > src/main/resources/db/migration/V2__InsertData.sql
----