diff --git a/README.md b/README.md index 36dc4a9..6714fa8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,42 @@ -# Beau-gosse-du-92 +# 🚧 Beau-gosse-du-92 🚧 + +The goal of this project is to propose a new open-source implementation of the famous instant-messaging tool. [![Presentation](medias/presentation.png)](medias/presentation.mp4) + +# Technical stack + +## Back-end + +This project is based on the [Matrix.org](https://matrix.org/) building blocks (back-end and front-end SDK) to avoid to +reinvent the wheel. This solution provides: + +- [Open-source protocol](https://spec.matrix.org/v1.9/). +- Features expected for a messaging solution in 2024 (multi-devices management, emojis, integrations, redaction, + spaces, ...). +- Multi-platforms clients (Android, iOS and Webclient). +- SDK available for each platform and a new Rust sdk supporting all the previously listed platforms. +- Conference stack ([Element Call](https://github.com/element-hq/element-call)). +- End-to-end encryption. +- Federation management. +- Capability to host all the back-end infrastructure by ourself. + +## Front-end + +First, the project involves writing a client compatible with the [Matrix.org (client-server +API)](https://spec.matrix.org/v1.9/client-server-api/) protocol. + +Even if the Rust SDK is still in beta, it seems to be the future one (cf. [Element X - experience the future of +Element!](https://element.io/blog/element-x-experience-the-future-of-element/)) and a good choice for someone starting a +new client... from my point of vue. + +The SDK choosen, a Rust (to avoid to use the bindings provided by the matrix-rust-sdk and mostly because I want to +learn Rust) graphical library should be selected. The [Dioxus](https://dioxuslabs.com/) one seems to do the job: + +- React-inspired library for Rust. +- Multi-platforms (use of Webview or WGPU-enabled renderers). + +# TODO + +- [ ] Design system ? +- [ ] Implement MSN messenger features using Matrix.org sdk...