Liker

Why:

  • This project is a proof of concept for several ideas related to distributed computing
    • Total Order Broadcast (Atomic Broadcast)
    • Event Sourcing
    • Using Websockets to "push" real-time event data to web clients
    • OAuth 2.0 authentication and authorization

How:

  • Create an application where users can
    • Log in using Google Single Sign On (SSO)
    • Join a real-time "game" where they can compete with other users to increment a counter to a set number
    • View real-time updates as other users influence the game's state
    • Write to a single "event log" of append-only events
    • Read from multiple replicas of the application data; to simulate real-world performance concerns

Context:

Code: