This is a modern full-stack merch store built with a Turborepo monorepo structure. It includes:
- Frontend: Admin Dashboard & Storefront (Next.js + TypeScript + Tailwind CSS + Shadcn/ui)
- Backend: Go (Fiber) API server, running as a standalone service
- Monorepo: Managed via Turborepo
| Layer | Stack |
|---|---|
| Frontend | Next.js, React, TypeScript, Tailwind CSS |
| Backend | Go (Fiber) — API server |
| Monorepo | Turborepo (pnpm workspaces) |
| Hosting | Frontend (Vercel, Netlify etc), Backend (Railway/Fly/Render/etc.) |
.
├── apps/
│ ├── web/ # Next.js storefront
│ ├── admin/ # Admin dashboard
│ └── go-server/ # Go Fiber server
├── packages/ # Shared code (types, UI, utils, etc.)
├── turbo.json # Turborepo config
├── pnpm-workspace.yaml
└── README.md
- Built using Fiber — a fast, Express-style web framework.
- Runs as a standalone Go server.
- Ideal for deployment on Railway, Render, Fly.io, etc.
Example entry point: main.go
package main
import (
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello from Fiber API!")
})
app.Listen(":3001")
}Use the packages/ directory for:
- Reusable UI components (
packages/ui) - Shared logic (
packages/utils) - Global TypeScript types (
packages/types)
- Frontend (
web,admin): Host on Vercel - Backend (
api-server): Deploy to:
- Unit tests for Go API (via
testingpackage) - Frontend testing via Playwright or Cypress
- E2E flow tests with mocked API
MIT — © Treasure Uzoma
Open to PRs, feedback, and ideas! Please open issues or start a discussion.
- GitHub: @treasureuzoma
- X (Twitter): @idolodev