Skip to content

Latest commit

Β 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š Presentations Repository

Welcome to my presentations repository!

πŸ“š About This Repository

This repository is a collection of interactive web-based presentations covering various software engineering and system design topics.

πŸ“‹ Presentations

1. Distributed Systems (A Real-World Ride-Sharing Platform Journey)

File: distibutedSystem/distributed-systems.html

Overview: A comprehensive introduction to distributed systems concepts using a real-world ride-sharing platform πŸš— (like Uber) as a case study. This presentation walks through the fundamental challenges of building scalable, reliable systems across multiple cities.

Topics Covered:

  • Definitions & Characteristics

    • What is a Distributed System?
    • When and why to use Distributed Systems
    • Real-world examples (Uber, Google Maps, Netflix, WhatsApp, Instagram, Banking Apps)
    • Challenges and trade-offs in distributed systems
  • Basic Concepts

    • Nodes and State (Compute + State)
    • State Machine Replication (SMR)
    • Distributed Logs and event sourcing
    • Quorums and Majority voting
    • Data replication strategies
  • Consensus Algorithms

    • Introduction to Raft Consensus Algorithm
    • Leader Election
    • Log Replication
    • Key concepts: Terms, Elections, Majority consensus
    • Fault Tolerance and Byzantine failures
  • Real-World Application

    • Journey from single server to distributed architecture
    • Handling scale (1000s of simultaneous rides)
    • Consistency models (Strong vs Eventual Consistency)
    • Fault tolerance in practice

Key Learning:

  • How distributed systems solve real-world scalability problems
  • Why consensus algorithms are critical for data consistency
  • Trade-offs between consistency, availability, and partition tolerance
  • Practical implementation patterns used by major tech companies

Duration: ~45-60 minutes

Navigation:

  • Use Right Arrow (β†’) or Space to reveal content progressively
  • Use Left Arrow (←) to go back
  • Home key: Jump to first slide
  • End key: Jump to last slide

πŸš€ How to Use

  1. Open any HTML file in your web browser
  2. Use arrow keys to navigate:
    • Right Arrow / Space β†’ Next slide or next animation
    • Left Arrow β†’ Previous slide or previous animation
    • Home β†’ First slide
    • End β†’ Last slide
  3. Click the buttons at the bottom for navigation

Last Updated: November 2025

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages