diff --git a/README.md b/README.md index e6d0ca5..62c9638 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,24 @@ # Introduction to Network Programming Homework +## System Architecture + +- The client program uses a TUI framework 'bubbletea' in Go. +- The auth server use HTTP with in-memory SQLite as backend. +- After auth, you can select the role to connect using P2P. + - Server: listen for client to join + - Client: scan and choose server to join + +## Connections + +- The auth server uses HTTP RESTful API, with JSON format payload and HTTP +Basic Auth. +- The UDP part uses builtin 'net' package in Go, and use MessagePack with +some pre-shared Magic Number to prevent spoofing. +- The wordle server also uses HTTP RESTful API, with JSON format payload. + +## Gameplay + +- A Wordle replica with multiplayer support. +- Players guess the 5-letter word within 6 round. +- After each round the guess result of others will be shared between players. +- The person who guess the word first wins.