- Each node runs an server which recives incoming messages
- Nodes know of eachothers IPs through a central server which runs identification
- Users can sign up for an identification through a webserver
- The user identification is run on my rpi and redis (or potentially on GCP)
-
Users will be able to create groups This is a very big maybe
- Users will be able to see who is on or offline at any given time as that information will be retrives from the server whenver the user requires
- Message history will be saved as a file on disk
- Messaging will probably be done on 465 as it is not 80 or 443 and is probably unmonitored
- This will probably just use flask cos its ezpz
- Or maybe rocket as its basically just flask in rust
- Redis will broker the identification requests probably stored in the format
UserId (Hash of their username + password) Username Password hash (SHA256) isLogedin (Storred as either True or False) currentIP (Will be 0 if user is offline)
- runs redis (duh)
- serves over http(s)