Categorygithub.com/rejdeboer/multiplayer-server
module
0.0.0-20240627165816-30d0c4a3c5fd
Repository: https://github.com/rejdeboer/multiplayer-server.git
Documentation: pkg.go.dev

# README

Multiplayer server (WIP)

This project is about creating a centralized cloud-based collaborative text editor using CRDTs. For a great explanation about CRDTs, I recommend watching Martin Kleppmann's video about the subject.

The project consists of 2 separate servers:

  1. An HTTP server written in Golang. The code can be found in the internal and pkg directories
  2. A WebSocket server written in Rust using Axum. The code can be found in the websocket directory

The HTTP server currently supports the following features:

  • Logging with zerolog
  • File storage in Azure Blob Storage
  • Simple JWT authentication, users stored in Postgres DB
  • Document creation and listing endpoint

The WebSocket server currently supports the following features:

  • y-crdt document persistence in Postgres DB
  • WebSocket endpoint to receive real-time updates

The client code used to connect to this server can be found at multiplayer-client

Deployment

For an example of how to deploy this app to Azure on a Kubernetes cluster, have a look at this repo

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author