Skip to content

smart-developer1791/go-recipe-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍳 Recipe Stream

Go SSE Tailwind TheMealDB Render

Real-time recipe discovery stream powered by Server-Sent Events. Explore random dishes from cuisines around the world with ingredients, instructions, and video tutorials.

✨ Features

  • πŸ”΄ Live Streaming β€” New recipes every 5 seconds via SSE
  • 🌍 Global Cuisines β€” Italian, Japanese, Mexican, Indian & more
  • πŸ₯˜ Full Ingredients β€” Complete ingredient lists with measurements
  • πŸ“– Instructions β€” Step-by-step cooking directions
  • ▢️ Video Tutorials β€” YouTube links for visual learners
  • 🏷️ Tags & Categories β€” Beef, Seafood, Vegan, Dessert, etc.
  • πŸ“± Responsive Design β€” Beautiful on all devices

🌍 Supported Cuisines

Region Cuisines
πŸ‡ͺπŸ‡Ί Europe British, French, Italian, Spanish, Greek, Polish
🌎 Americas American, Canadian, Mexican, Jamaican
🌏 Asia Chinese, Japanese, Thai, Indian, Vietnamese, Filipino
🌍 Other Moroccan, Egyptian, Turkish, Kenyan, Tunisian

πŸš€ Quick Start

Clone the repository:

git clone https://github.com/smart-developer1791/go-recipe-stream
cd go-recipe-stream

Initialize dependencies and run:

go mod tidy
go run .

Visit: http://localhost:3000

πŸ“ Project Structure

go-recipe-stream/
β”œβ”€β”€ main.go          # Server, SSE handler, API client
β”œβ”€β”€ go.mod           # Go module file
β”œβ”€β”€ render.yaml      # Render deployment config
β”œβ”€β”€ .gitignore       # Git ignore rules
└── README.md        # Documentation

πŸ”§ Tech Stack

Component Technology
Backend Go + Chi router
Real-time Server-Sent Events
Frontend Tailwind CSS
API TheMealDB

🌐 API Reference

This project uses the free TheMealDB API:

GET https://www.themealdb.com/api/json/v1/1/random.php

No API key required for basic access. Returns random meal with full details.

πŸ“Š How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Browser SSE   │────▢│   Go Server     │────▢│   TheMealDB     β”‚
β”‚   Connection    │◀────│   (Chi + SSE)   │◀────│      API        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                       β”‚
        β”‚    Every 5 seconds    β”‚
        │◀──────────────────────│
        β”‚    Recipe JSON data   β”‚

🍽️ Recipe Data Includes

  • Name β€” Dish title
  • Thumbnail β€” High-quality food photo
  • Category β€” Beef, Chicken, Seafood, Dessert, etc.
  • Cuisine β€” Country/region of origin
  • Ingredients β€” Up to 20 ingredients with measurements
  • Instructions β€” Full cooking directions
  • YouTube β€” Video tutorial link
  • Source β€” Original recipe URL
  • Tags β€” Descriptive tags

βš™οΈ Configuration

Variable Default Description
PORT 3000 Server port

πŸ”— Dependencies

github.com/go-chi/chi/v5  # Lightweight HTTP router

Deploy in 10 seconds

Deploy to Render

Releases

No releases published

Packages

No packages published

Languages