/uber-clone

Uber clone application using quarkus with clean architecture

Primary LanguageJavaMIT LicenseMIT

Uber Clone

Clean Architecture with Quarkus

NPM

About

This is an implementation of Clean Architecture with quarkus as objective to learn more about software architecture by hands on. With this architecture all layers was tested independently and easily, an elegance way to accomplish uncoupling of code.

Architectural Diagram

Hexagonal Architecture Diagram

Built With

  • Java 17
  • Quarkus
  • Unit/Integration Testing
  • Maven

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

./mvnw compile quarkus:dev

Packaging and running the application

The application can be packaged using:

./mvnw package

It produces the quarkus-run.jar file in the target/quarkus-app/ directory. Be aware that it’s not an uber-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 uber-jar, execute the following command:

./mvnw package -Dquarkus.package.type=uber-jar

The application, packaged as an uber-jar, is now runnable using java -jar target/*-runner.jar.