A modern skateboard customization web application featuring an interactive 3D builder, team showcase, and dynamic content management through Prismic CMS.
- Interactive 3D skateboard customizer with real-time previews
- Dynamic product catalog with customizable skateboards
- Team member showcase with animated profiles
- Responsive design optimized for all devices
- Content management through Prismic CMS
- Physics-based animations and interactions
- SEO optimized with meta tags and structured data
- Framework: Next.js 15 with App Router
- 3D Rendering: Three.js with React Three Fiber
- CMS: Prismic
- Styling: TailwindCSS
- Animations: GSAP
- Physics: Matter.js
- Language: TypeScript
- Clone the repository:
git clone https://github.com/minhomega/suburbia-skate.git
cd suburbia-skate
- Install dependencies:
npm install
# or
yarn install
# or
pnpm install
- Set up environment variables:
NEXT_PUBLIC_PRISMIC_ENVIRONMENT=your-prismic-repo-name
- Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
Open http://localhost:3000 with your browser to see the result.
- Create a Prismic account and repository
- Configure the following Custom Types:
- Board Customizer
- Homepage
- Settings
- Skateboard
- Skater
- Interactive 3D Skateboard Customizer
- Team Grid with Animated Profiles
- Product Grid with Dynamic Loading
- Physics-based Footer Animation
- Responsive Navigation
- Run tests:
npm run test
- Run linting:
npm run lint
- Start Slice Machine:
npm run slicemachine
src/
├── app/ # Next.js app router pages
├── components/ # Reusable components
├── slices/ # Prismic slice components
├── prismicio.ts # Prismic configuration
└── types/ # TypeScript type definitions
The project is optimized for deployment on Vercel. Follow these steps:
- Push your code to GitHub
- Import your repository to Vercel
- Configure environment variables
- Deploy!
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.