/CleanArchitectureJava

Ordering System / DDD (WORK IN PROGRESS)

Primary LanguageJava

Food Ordering system

Description

The Food Ordering System is an implementation of Clean Architecture in Java using Spring Boot. 
It follows a microservices architecture with several key design patterns and technologies such as 
Domain-Driven Design (DDD), SAGA, Outbox, CQRS, Kafka, and Kubernetes.

Project structure is as follows:

  • commom
    • common-domain
      • entity
      • event
      • exception
      • valueobject
  • order-service
    • order-application
      • exception
      • rest
    • order-container
    • order-dataaccess
    • order-domain
      • order-application-service
        • dto
        • mapper
        • ports
          • input
          • output
      • order-domain-core
        • entity
        • event
        • exception
        • valueobject
    • order-messaging

Table of contents

This project is a work in progress. The following features are planned:

  • Microservices
  • Clean Architecture
  • Hexagonal Architecture
  • Domain Driven Design
  • SAGA
  • Outbox
  • CQRS
  • Kafka
  • Kubernetes
  • Docker

Requirements

For building and running the application you need:

Installation

// TODO: Describe the installation process

Usage

// TODO: Write usage instructions