Real-time chat rooms that disappear after 24 hours.
- Ephemeral Rooms - All rooms automatically expire after 24 hours
- Daily Topics - Three pinned rooms with fresh topics from HackerNews and Reddit
- Real-time Chat - WebSocket-based messaging with instant updates
- User Accounts - Optional registration with room creation limits
- Anonymous Access - Join and chat without creating an account
# Clone the repository
git clone https://github.com/melkeydev/go-chat-app.git
cd go-chat-app
# Start with Docker Compose
docker-compose up
# Visit http://localhost:3000
cd server
go mod download
go run main.go
cd client
npm install
npm run dev
secretKey=your-jwt-secret
MAX_ROOMS=50
REDDIT_CLIENT_ID=your-reddit-client-id
REDDIT_CLIENT_SECRET=your-reddit-client-secret
VITE_API_BASE_URL=http://localhost:8080
VITE_WEBSOCKET_URL=ws://localhost:8080
- Backend: Go, Chi Router, Gorilla WebSocket, PostgreSQL
- Frontend: React, TypeScript, Vite, Tailwind CSS
- Infrastructure: Docker, Docker Compose
🎯 Unlock achievements as you chat!
- 🌟 First Steps - Complete your first daily check-in (1 day)
- 🔥 Weekly Warrior - Maintain a 7-day streak
- 👑 Monthly Master - Maintain a 30-day streak
- 💬 Chatter - Send your first 10 messages
- 🗣️ Conversationalist - Send 100 messages
- ⭐ Popular - Receive your first 5 upvotes
- 💖 Beloved - Receive 25 upvotes
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by Melkey