Skip to content

mymmrac/project-glynn

Repository files navigation

Project Glynn

Go Status Quality Gate Status Bugs Coverage Lines of Code

CLI chats with a server & client for communication in different chat rooms with any number of users.

For simplicity as "chat room" will be used just "room".

🕒 - delayed for an unknown amount of time

Server

  • Configs:
    • 🕒 Read configs
    • Parse CLI args
  • Types:
    • User, Message, Room
    • Data repository
    • Service
  • Docker:
    • App build container
    • App run container
    • Cassandra container
  • Cassandra:
    • Connect to Cassandra
    • Init Cassandra's keyspace & tables
  • Basic info:
    • Start server (display initial server info)
    • Logging
    • Swagger UI
  • Service:
    • Get messages
    • Send message
    • Create room
    • Delete room
    • Validate room
    • Validate user
    • Validate message
    • Get info
  • Server (HTTP):
    • Handle if user is new
    • Handle get messages
    • Handle new messages
    • Handle room creation
    • Handle room deletion
    • Handle admin authentication middleware
    • Handle server info
    • 🕒 Handle user connection to room
    • 🕒 Handle user disconnection from room
    • 🕒 Handle user connection status
  • Server (gRPC):
    • Future plans
  • Encryption
    • Future plans

Client

  • Configs:
    • 🕒 Read configs
    • Parse CLI args
  • Types:
    • Client
    • Chat related
  • Service (HTTP):
    • User creation
    • Read messages
    • Format massages
    • Create room
    • Delete room
    • Server info
    • 🕒 Connection status (for the server)
    • 🕒 Create connection to room
  • Service (gRPC):
    • Future plans
  • Encryption
    • Future plans