This project is focused on creating a seamless, efficient platform where healthcare providers, such as dentists, can list their services, and patients can easily find, book, and manage appointments. The system architecture is designed to handle real-time updates, ensure fast search experiences, and manage bookings efficiently throughout the entire lifecycle—from initial booking to post-service archival. Key technologies like MySQL, Redis, S3, Apache Kafka, Elasticsearch, and DynamoDB are integrated to ensure high performance, scalability, and reliability.
My Role: Solution Architect & Tech Lead
Key Components:
1. Provider Registration & Listing
- Data Storage: Provider information (services, prices, availability) is saved in MySQL Inventory Cluster; media (photos, docs) is stored in S3.
- Real-Time Updates: Changes trigger an event in Apache Kafka, which updates Elasticsearch for immediate searchability.
2. Patient Search Experience
- Fast Search: Patient queries are processed by Elasticsearch, providing rapid and accurate results, even with typos (via fuzzy logic).
3. Booking Process
- Act 1: Initial Booking: A booking is created in the MySQL Booking Database Cluster. No immediate payment is required, holding the spot until payment is arranged.
- Act 2: Active Booking Management: Redis Cache keeps live booking data easily accessible, ensuring instant updates for patients, providers, and admins.
- Act 3: Archival Process: Completed bookings are moved to DynamoDB for archiving, reducing clutter in the active system while keeping historical data available.
4. Auto-Scaling
- The system adjusts resources automatically based on demand, ensuring optimal performance during peak traffic and efficient resource use during quieter periods.
Benefits:
- Instant Provider Updates: Providers’ changes are reflected immediately in the system.
- Fast, Accurate Search: Elasticsearch ensures fast, reliable search results for patients.
- Efficient Booking Management: The platform streamlines the booking process and manages bookings from start to finish.
- Scalable & High-Performance: Auto-scaling and caching ensure a smooth experience even during high-demand periods.
For more details about this project, I have written a series of articles on building a scalable healthcare booking platform, covering architectural details, technical aspects, and the user journey step by step across several parts.
Please check this
Part 1: Building a Scalable Healthcare Booking Platform (Part 1): A System Story
Part 2: Building a Scalable Healthcare Booking Platform (Part 2): Technical Process Overview
Part 3: Building a Scalable Healthcare Booking Platform (Part 3): Listing Searching Mechanism
Part 4: Building a Scalable Healthcare Booking Platform (Part 4): Role-Based Access Control