
Documentation
Build, customize, and ship PlayBase with confidence.
A practical guide for setting up the template, editing sport center content, changing assets, and preparing the project for a polished UI8 upload or client delivery.
Getting started
Install locally and run the development server.
PlayBase is built with Next.js App Router, React, Tailwind CSS, shadcn components, Motion, and local TypeScript data files.
- Node.js 20 or newer.
- Bun installed on your machine.
- A local editor with TypeScript support.
bun install
bun run devbun installInstall project dependencies.
bun run devStart the local development server.
bun run lintRun ESLint checks.
bun run typecheckValidate TypeScript types.
bun run buildCreate the production build.
Project structure
Find the files you need without hunting around.
The template keeps content, routes, and reusable sections close to the surfaces they control.
Routes
Pages are ready for booking, clubs, and membership.
Use these routes as-is for the demo, or rename them to match a client project.
/Home
Landing page with hero, courts, clubs, gym/trainer, events, reviews, CTA, and footer.
/courtsCourts
All court and facility cards with booking entry points.
/courts/[slug]Court Detail
Court booking detail page with date, time, unit, and reviews.
/clubsOpen Play
Community sessions for players who want to join shared games.
/clubs/[slug]Open Play Detail
Session detail page for schedule, host, players, and join flow.
/priceMembership
Plans, comparison table, FAQ, and membership CTA.
/checkout/courtCourt Checkout
Checkout flow for court rental bookings.
/checkout/open-playOpen Play Checkout
Checkout flow for joining community sessions.
/checkout/membershipMembership Checkout
Checkout flow for monthly plan subscription.
Customize
Replace content while keeping the design system intact.
Most changes should happen in data files, page copy, and assets. Keep component styling aligned with the existing shadcn setup.
Update the logo in public/logo.svg and public/logo-light.svg.
Edit court details, prices, amenities, and slugs in lib/courts.ts.
Edit Open Play session content, hosts, levels, and schedules in lib/clubs.ts.
Replace photos in public/courts with optimized WebP assets.
Adjust global SEO metadata in app/layout.tsx.
Use existing shadcn components before creating new styling patterns.
Components
Reuse the sections already built for sport center flows.
The main experience is composed from focused components so each page can stay readable.
Deploy
Run final checks before handing off the template.
This checklist helps keep the project clean for a marketplace upload, preview deployment, or client delivery.
Ready to edit