Skip to main content
In this tutorial, you’ll build a full-stack task manager with a Go API backend, React frontend, and real-time updates — all served from a single binary.

What We’ll Build

A task manager with:
  • Go API backend
  • React frontend with TypeScript
  • Real-time task updates via SSE
  • Production build embedded in Go binary

Prerequisites

  • Go 1.22 or later
  • Node.js 18 or later
  • Completed previous tutorials (helpful but not required)

Step 1: Create the Project

Project structure:

Step 2: Create the Backend API

Create main.go:

Step 3: Configure Vite Proxy

Update web/vite.config.ts:

Step 4: Create the React Frontend

Replace web/src/App.tsx:
Replace web/src/App.css:
Update web/src/index.css (remove default Vite styles):

Step 5: Development Mode

Run both servers:
Open http://localhost:5173 (Vite will proxy API calls to Go).

Step 6: Production Build

Build everything:
Run the production build:
Open http://localhost:3000 — everything served from one binary!

Step 7: Create a Makefile

Create Makefile:

What You Learned

  • Combining Go backend with React frontend
  • Development proxy with Vite
  • Embedding frontend in Go binary
  • Real-time updates with SSE
  • Single-binary deployment

Project Structure

Next Steps

Add Authentication

Secure your API with JWT.

Deploy to Production

Docker, Kubernetes, cloud platforms.