Matrix is kind of like a federated IRC system and Riot is a web and mobile interface to the Matrix system.
Dendrite: You don't need to run Kafka unless working on distributed stuff. It is composed of several microservices (room server, sync api, media api...). Kafka is used to transfer messages between those microservices.
sytest - Black-box integration testing for Matrix homeservers.
Riot Web - Web client for Matrix.
Ruma - Matrix homeserver written in Rust.
Nheko - Native desktop client for Matrix.
Nio - Upcoming matrix client for iOS.
Dendrite checklist - API to finish for release.
matrix-rust-sdk - Matrix Client-Server SDK for Rust.
mautrix-telegram - Matrix-Telegram hybrid puppeting/relaybot bridge.
Maelstrom - High performance Matrix Home Server in rust.
Conduit - Matrix homeserver written in Rust.