Skip to main content

Introducing 'The Better Store'

'The Better Store' is an Open Source project for the development of a reference Cloud-Native eCommerce platform, primarily as an educational tool by a team of Wellington, NZ-based software enthusiasts. It is focused on demonstrating the following methodologies and technologies:

Domain Driven Design (DDD)

A design and development methodology that focuses on 'Knowledge Crunching' agile techniques between domain experts and the technical team, for defining the business domains (entities/agregates and rules), and composing decoupled 'Bounded Contexts' from these. The result is a blueprint aligned to the formation of a modern Microservices Architecture (MSA), including properties that lends well to agile change management, and services that may be extended, scaled and relied-upon within a Cloud-Native environment.

DDD's Strategic and Tactical patterns are described in subsequent sections.

Cloud Native Design

Describes the attributes required by an application to run in The Cloud, for effective realization of Cloud's advantages; including change agility, scalability, reliability, extensibility and operational cost optimization. The following areas are discussed in relation to The Better Store, for effective implementation.

  • Cloud Native attributes (12 requirements)
  • Microservices Architecture
  • Realizing DDD with the Onion Architecture, using NodeJS + Typescript
  • DevOps Methodologies
  • Polyglot Technologies
  • Deployment Patterns

AWS Services

  • AWS Well Architected Framework
  • Selected Services
  • Implementation

The Goal

An agile, scalable and highly-available eCommerce platform deployed on AWS based on Cloud Native design and MSA best practices.

An initial hypothetical system is envisaged below: initialview.svg

The following sections look at using DDD techniques, Cloud-Native design and MSA practices to validate this at a high-level, and hopefully evolve the model to make the eCommerce site 'The Better Store'.