Real-time craft brewery discovery stream using Go, Server-Sent Events (SSE), and OpenBreweryDB API. Explore 8,000+ breweries worldwide with live streaming and beautiful Tailwind CSS UI!
- π Real-time SSE streaming - Continuous brewery discovery
- π» 8,000+ breweries - From micro to large, worldwide coverage
- πΊοΈ Google Maps integration - View brewery locations
- π Live statistics - Track discoveries, countries, types
- π Discovery history - Recent breweries at a glance
- π¨ Beautiful UI - Glass morphism with Tailwind CSS
- π± Fully responsive - Works on all devices
- β‘ Chi router - Fast and lightweight
Clone the repository:
git clone https://github.com/smart-developer1791/go-brewery-stream
cd go-brewery-streamInitialize dependencies and run:
go mod tidy
go run .Open http://localhost:8080 in your browser.
| Technology | Purpose |
|---|---|
| Go 1.21+ | Backend server |
| Chi Router | HTTP routing & middleware |
| SSE | Real-time streaming |
| OpenBreweryDB | Brewery data API |
| Tailwind CSS | Styling |
| Endpoint | Description |
|---|---|
GET / |
Main UI page |
GET /stream |
SSE brewery stream |
GET /health |
Health check |
| Type | Description |
|---|---|
| π Micro | < 15,000 barrels/year |
| π§ͺ Nano | < 200 barrels/year |
| π’ Regional | 15,000-6M barrels/year |
| π½οΈ Brewpub | Restaurant-brewery |
| ποΈ Large | > 6M barrels/year |
| π Contract | Contract brewing |
go-brewery-stream/
βββ main.go # Application entry point
βββ go.mod # Go module file
βββ render.yaml # Render deployment config
βββ .gitignore # Git ignore rules
βββ README.md # Documentation
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
Server port |
Client Server
| |
|------- GET /stream ----->|
| |
|<---- data: {...} --------| (brewery 1)
|<---- data: {...} --------| (brewery 2)
|<---- data: {...} --------| (brewery 3)
| ... |
This project uses the free OpenBreweryDB API:
- π 8,000+ breweries worldwide
- π Free and open source
- π Regularly updated
- π Location coordinates included