Skip to content

Instantly share code, notes, and snippets.

@playerace
playerace / points_bank_design.md
Last active August 17, 2023 08:20
Points Bank Design

Introduction

At the core of every loyalty program, is something we call the ‘points bank’. The purpose of the points bank is simple - to track the loyalty points balances and points expiry of each and every member within the program. Although the purpose and usage of the points bank is simple, designing the points bank to meet all our requirements is not as straightforward.

In this short exercise, we would love to have a discussion around how we would model the data entities within the points bank to support both the functional and non-functional requirements that we want to achieve.

Keybase proof

I hereby claim:

  • I am playerace on github.
  • I am playerace (https://keybase.io/playerace) on keybase.
  • I have a public key ASAlMIAP_NAAqyUT6_q48pUg6jLHpkTXzbrZBPOrh3zL0go

To claim this, I am signing this object: