No description
Find a file
2021-07-29 22:06:02 +02:00
config Add start of controller testing 2021-07-13 17:08:07 +02:00
lib Fix create room API endpoint 2021-07-29 22:06:02 +02:00
priv/repo Refactor room server 2021-07-29 16:59:40 +02:00
test Add part of room creation endpoint 2021-07-17 17:38:20 +02:00
.formatter.exs Init git repo 2021-06-22 14:09:25 +02:00
.gitignore Init git repo 2021-06-22 14:09:25 +02:00
LICENSE Create LICENSE 2021-07-23 22:18:25 +00:00
mix.exs Add start of controller testing 2021-07-13 17:08:07 +02:00
mix.lock Add start of controller testing 2021-07-13 17:08:07 +02:00
README.md Refactor room server 2021-07-29 16:59:40 +02:00

Matrix homeserver

This is my attempt at creating a Matrix homeserver in Elixir. Currently it is in a very early stage.

Some noteworthy contributions:

  • lib/matrix_server/state_resolution.ex: Implementation of version 2 of the Matrix state resolution algorithm.
  • lib/matrix_server/state_resolution/authorization.ex: Implementation of authorization rules for the state resolution algorithm.
  • lib/matrix_server/room_server.ex: A GenServer that holds and manages the state of a room.

To run the server in development mode, run:

  • Install the latest Erlang, Elixir and Postgresql.
  • Create the database with name matrix_server_dev and credentials matrix_server:matrix_server.
  • Fetch Elixir dependencies with mix deps.get.
  • Run the server using mix phx.server.