Globally-Accessible Distributed Service for Loyalty Card Scheme in global cafe

  • Category: Web Development, Database Management
  • Technologies: Python, Flask, Docker, Redis, MariaDB, MongoDB, Postman
  • Skills: Pair Programming, Demonstrating, Team Management, System Design, Distributed Systems
  • Repository: Github Link
  • Report: Read Here

An implementation of a globally distributed loyalty card scheme is designed for a worldwide cafe chain. This scheme rewards consumers with discounts based on their transaction history. The system allows customers to add and deduct loyalty points for each purchase, as well as enroll in and exit the system, while also being able to amend their account details.

The system is purposefully built to handle errors such as network partitions and crashes, and it can scale to accommodate a large number of users located in different regions.

State-of-the-art distributed system techniques, including load balancing, data replication, and caching, are utilized for this purpose.

To ensure its reliability, the system undergoes stress testing with hundreds of customers emulating interactions with the system. Data is managed using a combination of SQL and NoSQL databases, and servers are hosted in local Docker containers.