This project is a chat application implemented in Go, utilizing Gorilla WebSocket for real-time communication. It provides endpoints for user authentication and WebSocket operations.
- User Signup and Login
- User Logout
- WebSocket Room Management
- Create a Room
- Join a Room
- Get Rooms and Clients in a Room
- Go 1.15 or higher
- Docker
- Docker Compose (for simplified setup)
git clone https://github.com/aslam-ep/go-chat.git
cd go-chat
docker-compose build
docker-compose up
The application will start running at http://localhost:8080.
- POST /signup - Create a new user
- POST /login - Login with existing credentials
- GET /logout - Logout the currently logged-in user
- POST /ws/createRoom - Create a new WebSocket room
- GET /ws/joinRoom/:roomId - Join an existing WebSocket room
- GET /ws/getRooms - Retrieve all active WebSocket rooms
- GET /ws/getClients/:roomId - Get clients connected to a specific WebSocket room