This repository contains a playground for ArchUnit with a simple pizza ordering system as an example. MÜSSEN
The pizza ordering system allows users to place orders for pizzas and track the status of their orders. It provides functionalities for ordering pizzas, tracking orders, and managing payments.
The project follows a hexagonal architecture approach:
- Application:
- Ports:
- In: Define input ports for use cases.
- Out: Define output ports for .
- Service: Implement business logic and application services.
- Adapter: Manage communication with external systems.
- Ports:
This repository contains the source code for a simple pizza ordering system.
The pizza ordering system allows users to place orders for pizzas and track the status of their orders. It provides functionalities for ordering pizzas, tracking orders, and managing payments.
The project follows a clean architecture approach, separating concerns into different layers:
-
Application:
- Port:
- In: Define input ports for use cases.
- Out: Define output ports for a repository.
- Service: Implement business logic and application services.
- Port:
-
Adapter:
- In: Define input Adapter for a Rest Controller.
- Out: Define output ports for database.
-
Domain:
- Define domain models.
To run the pizza ordering system locally, follow these steps:
-
Clone the repository:
git clone https://github.com/darthkali/arch-unit-playground.git
-
Navigate to the project directory:
cd pizza-ordering-system -
Build and run the project:
./gradlew run
...