๐Ÿ›๏ธ Renewed Renaissance

Saleor E-Commerce Platform - Infrastructure Documentation

๐Ÿ“– Documentation Sections

๐Ÿ‘ฅ Customer Guide

View Customer Documentation โ†’

Shopping guide, FAQs, and customer support information

โš™๏ธ Admin Guide

View Admin Documentation โ†’

Dashboard guide, product management, order processing

๐Ÿ’ป Developer Guide

View Developer Documentation โ†’

API reference, deployment guides, technical architecture

๐ŸŒ Live Environments

Production Website

LIVE https://www.renewed-renaissance.com

Customer-facing storefront (API placeholder)

Production Admin

LIVE https://www.renewed-renaissance.com/admin

Saleor Dashboard - Product & Order Management

Production GraphQL API

LIVE https://www.renewed-renaissance.com/graphql

GraphQL Playground for API testing

๐Ÿงช Staging Environment

Staging Website

STAGING https://stage.renewed-renaissance.com

Testing environment for new features

Staging Admin

STAGING https://stage.renewed-renaissance.com/admin

Staging Dashboard - Safe testing area

Staging GraphQL API

STAGING https://stage.renewed-renaissance.com/graphql

API testing playground

๐Ÿ—๏ธ Architecture Overview

Technology Stack

  • Saleor 3.20: GraphQL-first e-commerce platform (Django/Python)
  • PostgreSQL 16: Primary database
  • Redis 7.2: Cache and message broker
  • Nginx: Reverse proxy with path-based routing
  • Cloudflare Tunnel: Secure public access without exposing ports
  • Celery: Background task processing
  • Docker Compose: Container orchestration

Port Mapping

Environment External Port Internal Port Service
Production 8080 8080 Nginx (API + Dashboard routing)
Production 8081 8081 Nginx (Subdomain routing)
Staging 9080 8080 Nginx (API + Dashboard routing)
Staging 9081 8081 Nginx (Subdomain routing)

Nginx Routing Configuration

Path Destination Description
/graphql Saleor API GraphQL endpoint
/admin Dashboard Admin panel (aliased to /dashboard)
/dashboard Dashboard Admin panel (direct path)
/media Saleor API Product images and media
/static Saleor API Static files (CSS, JS)
/health Saleor API Health check endpoint
/ Saleor API Default - API root

๏ฟฝ๏ธ Product Manager

Declarative Product Management

The Saleor Product Manager is a custom Next.js application that enables declarative product management via Markdown files. Products are defined in src/saleor-product-manager/products/ and synced to Saleor via GraphQL.

Current Product Catalog

Product SKU Price Category
๐ŸŒธ Elegant Bloom - Hand-Printed Dahlia Print ELE/PRI/6IN $180.00 Art Prints
๐Ÿฆข Eternal Flight - Handcrafted Origami Crane Print ETE/PRI/4IN $80.00 Art Prints
๐ŸŽ Ethereal Drift - Handcrafted Jellyfish Print ETH/PRI/6IN $90.00 Art Prints

Product Manager Endpoints

Environment URL Description
Development http://localhost:3001 Dev product manager UI
Staging http://localhost:3002 Stage product manager UI

Sync Commands

# Sync to Development
curl -X POST http://localhost:3001/api/sync \
  -H "Content-Type: application/json" \
  -d '{"environment": "dev", "productsDir": "/app/products", "dryRun": false}'

# Sync to Staging
curl -X POST http://localhost:3002/api/sync \
  -H "Content-Type: application/json" \
  -d '{"environment": "stage", "productsDir": "/app/products", "dryRun": false}'
            

๏ฟฝ๐Ÿ“ Project Structure

renewed-renaissance-saleor/
โ”œโ”€โ”€ deploy/
โ”‚   โ”œโ”€โ”€ 01_dev/              # Development environment
โ”‚   โ”œโ”€โ”€ 02_stage/            # Staging environment (ports 9080/9081)
โ”‚   โ”‚   โ”œโ”€โ”€ docker-compose.yml
โ”‚   โ”‚   โ”œโ”€โ”€ nginx.conf       # Path-based routing configuration
โ”‚   โ”‚   โ””โ”€โ”€ .env            # Stage-specific configuration
โ”‚   โ””โ”€โ”€ 03_prod/             # Production environment (ports 8080/8081)
โ”‚       โ”œโ”€โ”€ docker-compose.yml
โ”‚       โ”œโ”€โ”€ nginx.conf       # Path-based routing configuration
โ”‚       โ””โ”€โ”€ .env            # Production configuration
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ saleor-core/         # Django API backend
โ”‚   โ”‚   โ”œโ”€โ”€ create_superuser.py
โ”‚   โ”‚   โ””โ”€โ”€ settings.py
โ”‚   โ”œโ”€โ”€ saleor-dashboard/    # React admin panel
โ”‚   โ”œโ”€โ”€ saleor-storefront/   # Next.js customer shop (planned)
โ”‚   โ”œโ”€โ”€ saleor-product-manager/  # Declarative product management
โ”‚   โ”‚   โ”œโ”€โ”€ products/        # Markdown product definitions
โ”‚   โ”‚   โ””โ”€โ”€ src/             # Next.js application
โ”‚   โ””โ”€โ”€ [services]/          # PostgreSQL, Redis, MailDev
โ””โ”€โ”€ docs/                    # Documentation (this page!)
            

๐Ÿš€ Deployment Information

Environment Configuration

Setting Production Staging
DEBUG Mode True (temporary) True (temporary)
Redis Configured via .env Configured via .env
Database PostgreSQL PostgreSQL
Celery Workers Active (background tasks) Active (background tasks)
Email Backend MailDev (1025/1080) MailDev (1026/1081)

โš ๏ธ Security Notes

  • DEBUG mode is currently enabled - disable for production
  • Change all default passwords (REDIS_PASSWORD, SECRET_KEY, database credentials)
  • Configure RSA_PRIVATE_KEY for JWT token signing
  • Set up proper SENTRY_DSN for error tracking
  • Review and update ALLOWED_HOSTS for production domains

๐Ÿ“‹ Quick Commands

Starting Services

# Production
cd deploy/03_prod
docker-compose up -d

# Staging
cd deploy/02_stage
docker-compose up -d
            

Running Migrations

docker-compose exec api python manage.py migrate
            

Creating Superuser

docker-compose exec api python manage.py createsuperuser --noinput
            

Viewing Logs

# All services
docker-compose logs -f

# Specific service
docker-compose logs -f api
docker-compose logs -f nginx
docker-compose logs -f worker
            

Restarting Services

# Restart with new .env variables
docker-compose up -d --force-recreate api worker

# Just restart nginx
docker-compose restart nginx