Skip to content

ted-mundy/messaging-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

Messaging Application

Cool little project to get to terms with Rust, React, and solidify Golang knowledge.

The architecture

                       ┌───────────────────────────┐
                       │                           │
                       │        Auth service       │
                       │ (authentication validated │
                       │         in gateway)       │
                       │                           │
                       └─────────────▲─────────────┘
                                     │
                                     │
                                     │                      ┌───────────────────┐
                                     │                      │                   │
                                     ├──────────────────────►  Account service  │
                                     │                      │                   │
                                     │                      └───────────────────┘
                                     │
                                     │
                                     │
  ┌──────────────┐                   │
  │              │            ┌──────┴───────┐             ┌─────────────────────┐
  │    Client    │            │              │             │                     │
  │ (Web browser ├────────────►  API Gateway ├─────────────►  Messaging service  │
  │    or CLI)   │            │              │             │     w/ e2e enc.     │
  │              │            └──────────────┘             │       (Rust)        │
  └──────┬───────┘                                         │                     │
         │                                                 └───────────┬─────────┘
         │                                                             │
         │                                                             │
         │                                                             │
         │                 ┌───────────────────┐                       │
         │                 │                   │                       │
         │                 │    Notification   │                       │
         └─────────────────► socket connection ◄───────────────────────┘
                           │     (golang)      │
                           │                   │
                           └───────────────────┘

Features

  • End-to-end encryption (optional, enabled by default)
  • Similar to Telegram, just without the phone numbers and you register via email.
    • As a result, users will have profiles, with names, descriptions, avatars and the rest.

Releases

No releases published

Packages

No packages published

Languages