aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md18
1 files changed, 17 insertions, 1 deletions
diff --git a/README.md b/README.md
index 0bd1605..3a9879c 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,17 @@
-# InventorySim \ No newline at end of file
+# InventorySim
+
+Simulates an single-warehouse inventory management system that handles these
+edge cases by preventing inventory oversells under load.
+
+## Problem
+
+Inventory management systems are an intriguing area for system designs. They
+must follow strict rules for how inventory is added, removed, and transferred
+between locations in a warehouse. Without careful handling, stock can be
+purchased that doesn't exist.
+
+For instance, a high traffic item can sell out quickly, but how can you prevent
+two users from purchasing the last item at the same time? Race conditions happen
+when multiple requests read and write the same inventory row at the same time.
+Two customers can read only one unit of milk is available, both reserve it, and
+the system oversells.
git.ajschof.me — hosted by ajschofield — powered by cgit