- implement a websocket client for the server that handles connection, login, ping, message parsing, automatic reconnect, and channel forwarding for messages
- for parsing, implement a serde enum that handles all of the possible message types
- insert all non-login and non-close messages into Mongo (will provide uri for connection)
- after initial connection, client must send a login message with the shape:
{
"type": "login",
"username": "anything"
}- login
{
"type": "login",
"info": "some string"
}- msg zero
{
"type": "msg_zero",
"zero_info": "some string"
}- msg one
{
"type": "msg_one",
"one_info": "some string"
}- msg two
{
"type": "msg_two",
"two_info": "some string"
}- error
{
"type": "error",
"message": "some error message string"
}