TaskBee wants to build a simple to-do application backend that mobile and web apps consume via REST API. Features:
- User accounts - sign up with email/password, login with JWT tokens.•Lists & tasks - users create task lists (e.g., "Groceries", "Work"). Each list contains tasks with a title, description, due date, priority, and completion status.•Sharing - users can share a list with other users (viewer or editor role).•Reminders - send a push notification or email when a task's due date is approaching (24 hours before).•Subtasks - tasks can have subtasks (one level deep).
The app targets individual users with a modest user base - 10,000 registered users, 2,000 DAU.
Design a RESTful to-do list API with user accounts, lists, tasks, and due-date reminders. Build this architecture under realistic production constraints, then validate tradeoffs in the design lab simulation.
Request path: The solution keeps ingress, service logic, and stateful dependencies separated so each layer can scale independently.
Reference flow: Web Clients -> API Gateway -> API Service -> Auth Service -> Primary SQL DB