go-gol is a Go-based web application that dynamically draws points on a circle using websockets. It demonstrates the use of goroutines, websockets, and real-time data visualization.
- Real-time visualization of sine and cosine functions
- Dynamically adjustable circle radius
- Websocket-based communication between server and clients
- Multi-session support with session count display
- Animated point drawing with fade-off transitions
- Backend: Go
- Frontend: React with TypeScript
- Websockets: gorilla/websocket
- HTTP Router: gorilla/mux
- Clone the repository:
git clone https://github.com/yourusername/go-gol.git
cd go-gol
- Install backend dependencies:
cd server
go mod tidy
- Install frontend dependencies:
cd client
yarn
- Start the backend server:
make dev
- In a separate terminal, start the frontend development server:
cd client
yarn dev
- Open your browser and navigate to
http://localhost:5173
- The application will start with a default circle (radius = 1).
- Points representing sine and cosine values will be drawn on the circle in real-time.
- Use the input field to change the radius of the circle.
- Open multiple tabs to see the session count increase.
This project is licensed under the MIT License.