Merch store for the rSpace ecosystem
Go to file
Jeff Emmett 72f072f233 Initial commit: rSwag - merch store for the rSpace ecosystem
Forked from mycopunk-swag-store and rebranded for rSpace:
- Next.js 15 + FastAPI + PostgreSQL + Stripe
- Printful + Prodigi POD integration
- AI design generation via Gemini API
- rSpace color scheme (cyan/orange) and branding
- In-repo designs directory (stickers, shirts, misc)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 03:24:22 -07:00
backend Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
config Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
designs Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
frontend Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
.env.example Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
.gitignore Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
CLAUDE.md Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
README.md Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
docker-compose.dev.yml Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
docker-compose.prod.yml Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00
docker-compose.yml Initial commit: rSwag - merch store for the rSpace ecosystem 2026-02-18 03:24:22 -07:00

README.md

rSwag

Merchandise store for the rSpace ecosystem at rswag.online

Stack

  • Frontend: Next.js 15 + shadcn/ui + Tailwind CSS + Geist font
  • Backend: FastAPI + SQLAlchemy + Alembic
  • Database: PostgreSQL
  • Payments: Stripe Checkout
  • Fulfillment: Printful (apparel) + Prodigi (stickers/prints)
  • AI Design: Gemini API for on-demand design generation

Architecture

rswag.online
        │
        ▼
  Cloudflare Tunnel → Traefik
        │                │
        ▼                ▼
   Next.js (3000)   FastAPI (8000)
                         │
         ┌───────────────┼───────────────┐
         ▼               ▼               ▼
    PostgreSQL       Stripe          POD APIs

Development

Quick Start

cp .env.example .env
# Edit .env with your API keys

docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d

# Backend: http://localhost:8000
# Frontend: http://localhost:3000

Local Development (without Docker)

# Backend
cd backend
pip install -e .
uvicorn app.main:app --reload

# Frontend
cd frontend
pnpm install
pnpm dev

Project Structure

rswag/
├── backend/              # FastAPI Python backend
│   ├── app/
│   │   ├── api/         # Route handlers
│   │   ├── models/      # SQLAlchemy ORM
│   │   ├── schemas/     # Pydantic models
│   │   ├── services/    # Business logic
│   │   └── pod/         # POD provider clients
│   └── alembic/         # Database migrations
├── frontend/             # Next.js 15 frontend
│   ├── app/             # App Router pages
│   ├── components/      # React components
│   └── lib/             # Utilities
├── designs/              # Design assets (in-repo)
│   ├── stickers/
│   ├── shirts/
│   └── misc/
└── config/               # POD provider config

Deployment

Deployed on Netcup RS 8000 via Docker Compose with Traefik reverse proxy.

ssh netcup "cd /opt/apps/rswag && git pull && docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build"