Directory Structure =================== Warning: this may be a bit stale... :: . ├── cmdclient Basic CLI python Matrix client ├── demo Scripts for running standalone Matrix demos ├── docs All doc, including the draft Matrix API spec │   ├── client-server The client-server Matrix API spec │   ├── model Domain-specific elements of the Matrix API spec │   ├── server-server The server-server model of the Matrix API spec │   └── sphinx The internal API doc of the Synapse homeserver ├── experiments Early experiments of using Synapse's internal APIs ├── graph Visualisation of Matrix's distributed message store ├── synapse The reference Matrix homeserver implementation │   ├── api Common building blocks for the APIs │   │   ├── events Definition of state representation Events │   │   └── streams Definition of streamable Event objects │   ├── app The __main__ entry point for the homeserver │   ├── crypto The PKI client/server used for secure federation │   │   └── resource PKI helper objects (e.g. keys) │   ├── federation Server-server state replication logic │   ├── handlers The main business logic of the homeserver │   ├── http Wrappers around Twisted's HTTP server & client │   ├── rest Servlet-style RESTful API │   ├── storage Persistence subsystem (currently only sqlite3) │   │   └── schema sqlite persistence schema │   └── util Synapse-specific utilities ├── tests Unit tests for the Synapse homeserver └── webclient Basic AngularJS Matrix web client