Showcase website for Pasio Padel Club, a padel facility located in Bayonne, France. Built to replace a legacy Wix website with a fully responsive, SEO-optimized experience.
Branch
production-v1— Static showcase site (no backend, no auth, no payments). All booking CTAs redirect to the mobile app. Themainbranch contains the full-featured version with database, auth, Stripe payments, and email system.
- Responsive design for mobile and desktop
- SEO-optimized pages (tarifs, contact, galerie, credits)
- Google Maps integration
- Mobile app download promotion
- Static credit packs presentation
| Category | Technology |
|---|---|
| Framework | TanStack Start (React 19, SSR, Nitro) |
| Routing | TanStack Router (file-based) |
| Data Fetching | TanStack Query |
| Styling | Tailwind CSS 4 + shadcn/ui |
| Animation | Motion |
| Validation | Zod |
| Service | Purpose |
|---|---|
| Vercel | Hosting (auto-deploy from production-v1-vercel) |
- Node.js 24.4.1+
- npm 11.8.0+
git clone <repository-url>
cd pasiopadelclub
git checkout production-v1
npm installCopy the example file and fill in your values:
cp .env.example .env.local| Variable | Description |
|---|---|
VITE_SITE_URL |
Your app URL (e.g., http://localhost:3000) |
npm run devThe app will be available at http://localhost:3000.
| Command | Description |
|---|---|
npm run dev |
Start development server on port 3000 |
npm run build |
Build for production |
npm run start |
Start production server |
npm run lint:fix |
Run TypeScript check + ESLint and fix issues |
npm run test |
Run unit tests with Vitest |
npm run deps |
Update dependencies (minor/patch) |
npm run clean |
Clean build output and cache |
src/
├── routes/ # Pages (TanStack Router file-based routing)
├── components/ # React components (ui/, kibo-ui/, animate-ui/)
├── constants/ # App constants and configs
├── helpers/ # Pure utility functions
├── lib/ # Shared utilities (cn)
└── env/ # Environment variable validation
| Route | Description |
|---|---|
/ |
Homepage |
/tarifs |
Court pricing |
/credits |
Credit packs presentation |
/galerie |
Photo gallery |
/contact |
Contact info + Google Maps |
/application |
Mobile app download |
/cgv |
Terms of service |
/mentions-legales |
Legal notices |
/politique-confidentialite |
Privacy policy |
The app is configured for deployment on Vercel with automatic deploys from the production-v1-vercel branch.
- Import your GitHub repository on Vercel
- Set the deploy branch to
production-v1-vercel - Add
VITE_SITE_URLenvironment variable - Deploy
Vercel will automatically:
- Install dependencies
- Build the app (
npm run build) - Deploy as serverless functions + static assets
Private - All rights reserved