sleeper-scooters-coaching-hub Svelte Themes

Sleeper Scooters Coaching Hub

Full-stack coaching platform for Sleeper Scooters: lesson scheduling, availability management, and Shopify-integrated bookings

Sleeper Scooters Coaching Hub

Full-stack coaching platform for Sleeper Scooters. Handles coach onboarding, lesson scheduling, availability management, customer bookings, and group lesson administration, integrated with Shopify for payments.

Stack

  • Frontend: SvelteKit 2 + Svelte 5, TypeScript
  • Backend: Hono on Node.js, TypeScript
  • Database: PostgreSQL via Drizzle ORM
  • Email: Resend
  • Payments: Shopify
  • Deploy: Docker + Nginx + PM2

Structure

/
├── api/          # Hono REST API
│   └── src/
│       ├── routes/       # Auth, bookings, coaches, lessons, availability
│       ├── services/     # Shopify, email, slot computation
│       ├── middleware/   # JWT auth, role guards
│       └── db/           # Drizzle schema + migrations
├── web/          # SvelteKit frontend
│   └── src/routes/
│       ├── admin/        # Admin dashboard: coaches, lessons, bookings
│       ├── coach/        # Coach dashboard: availability, parks, profile
│       ├── coaches/      # Public coach directory
│       └── book/         # Customer booking flow
└── docker-compose.yml

Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL

API

cd api
cp .env.example .env   # fill in DB, JWT secret, Resend key, Shopify credentials
npm install
npm run migrate
npm run dev

Web

cd web
cp .env.example .env   # set PUBLIC_API_URL
npm install
npm run dev

Docker

cp .env.example .env
docker-compose up -d

Features

  • JWT auth with coach and admin roles
  • Coach availability slots with day-level exclusions
  • Private and group lesson scheduling
  • Skatepark management (coach-owned)
  • Shopify webhook integration for payment confirmation
  • Automated slot cleanup via cron
  • Email notifications via Resend
  • Geocoded coach locations with Nominatim

License

Copyright (c) 2026 Fabien Brocklesby. All rights reserved.

This is proprietary software. No part of this repository may be copied, modified, distributed, or used without the express written permission of the copyright holder. See LICENSE for details.

Top categories

Loading Svelte Themes