Skip to content

KoMoPa/orb_studios_website

Repository files navigation

Orb Studios Website

A modern music studio website built with Next.js, Payload CMS, and PostgreSQL. Features a booking system with Google Calendar integration, invoice generation, email notifications, and S3 media storage.

Live: https://orbstudios.ca


Tech Stack

Frontend & Framework:

Backend & CMS:

Core Features:

Utilities:

Package Manager & Deployment:


Prerequisites

  • Node.js v18.20.2+ (v20+ recommended)
  • pnpm v9+ (npm install -g pnpm)
  • PostgreSQL (local dev) or cloud provider (Railway, Supabase, Neon)

Scripts

pnpm dev                    # Start development server
pnpm build                  # Build for production
pnpm start                  # Start production server
pnpm generate:types         # Regenerate Payload types
pnpm generate:importmap     # Regenerate import map
pnpm payload                # Payload CLI
pnpm dev:prod               # Test production build locally

Project Structure

src/
├── app/                         # Next.js App Router
│   ├── (frontend)/             # Public frontend routes
│   ├── (payload)/              # Payload admin routes (/admin)
│   └── api/                    # API routes (bookings, invoices, etc.)
├── blocks/                      # Page builder blocks (CMS content)
├── collections/                 # Payload CMS collections & hooks
├── components/                  # React components
│   └── ui/                     # shadcn/ui components
├── fields/                      # Custom Payload field definitions
├── hooks/                       # React hooks
├── lib/                         # Utilities
│   └── booking/                # Google Calendar, email, invoicing
├── plugins/                     # Payload CMS plugins (S3, etc.)
├── utilities/                   # Helper functions
└── payload.config.ts            # Payload CMS configuration

Key Features

Booking System

  • Google Calendar Integration - Bookings sync to studio calendar
  • Invoice Generation - Automatic PDF invoices attached to emails
  • Email Notifications - Resend-powered confirmations to clients & admin

CMS

  • Live Preview - Real-time content editing
  • Media Management - Railway S3 integration
  • SEO Optimization - Built-in SEO plugin
  • Redirects - URL redirects management
  • Form Builder - Dynamic form creation

Storage

  • Railway S3 (Tigris) - All media uploads stored on Railway's S3-compatible object storage
  • PostgreSQL - All data, users, bookings, transactions

Custom Google Fonts

This project includes four decorative Google Fonts from the Rubik family available site-wide:

Alias Font Family Use Case
vinyl Rubik Vinyl Bold, eye-catching headlines
doodle Rubik Doodle Shadow Playful, bubbly text
glitch Rubik Glitch Edgy, distorted effects
spraypaint Rubik Spray Paint Artistic, graffiti-style text

About

A 2.0 version of https://orbstudios.ca with Next JS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors