Equion is a chat platform, similar to Discord, but built with mathematics in mind. It has built-in support for LaTeX and Markdown, high-quality low-latency voice chat and screen sharing, and is lightweight and lightning-fast thanks to Rust and Tauri.
All of Equion's custom services are built with Rust where possible and have maths-based names which are vaguely related to their functionality.
Name | Description | Tech Stack |
---|---|---|
Domain | The core Equion server, providing the API and interfacing with the database. | Rust, Humphrey, MySQL |
Range | The Equion front-end, providing the user interface | Rust, Tauri, React, TypeScript, Sass |
Bijection | JavaScript bindings to the Equion API, used by the front-end | TypeScript |
Axiom | The Equion website | React, Gatsby, TypeScript, Sass |
Matrix | Release manager, used to publish and retrieve Equion releases | Rust, Humphrey, JasonDB |
Database | The Equion database | MySQL |
Voice | The Equion voice chat server | PeerJS, WebRTC |
Gateway | The Equion gateway | NGINX |
As of July 2023, I'm no longer hosting Equion, so you'll need to host your own server:
- Install Docker and Docker Compose on the server.
git clone https://github.com/w-henderson/Equion && cd Equion
.docker-compose build
docker-compose -f docker-compose.prod.yml up -d
.
To configure the client to connect to your server, add an entry in range/src/servers.json
.