Skip to content

⌨️ Nimbus Keyboards – A modern 3D interactive keyboard showcase built with Next.js 15, TailwindCSS, Prismic CMS, and React Three Fiber. Features immersive 3D models, smooth GSAP animations, dynamic content, and integrated payment system.

Notifications You must be signed in to change notification settings

Itssanthoshhere/Nimbus-Keyboard-3D

Repository files navigation


Project Banner

⌨️ Nimbus Keyboards

An interactive, modern keyboard showcase with 3D animations & Stripe-powered payments using Next.js 15, TailwindCSS, Prismic CMS, and React Three Fiber.
Built step by step with Slice Machine, GSAP animations, and secure checkout flow.

Live Demo

📋 Table of Contents

  1. Introduction
  2. ⚙️ Tech Stack
  3. 🔋 Features
  4. 🤸 Quick Start
  5. 🧱 Project Structure
  6. 📝 Customization
  7. 📄 License
  8. 🔗 Contacts

✨ Introduction

Nimbus Keyboards is a 3D interactive keyboard showcase website. Users can explore keyboard models, switch types, and keycaps in 3D with smooth animations. The site also integrates Stripe Checkout for secure, real-world payment flows — making it a mini e-commerce experience.

It leverages Next.js 15, TailwindCSS, Prismic CMS, and React Three Fiber to deliver immersive interactions and content-driven layouts.


⚙️ Tech Stack

⚡ Framework & Core

  • Next.js 15 – Full-stack React framework for SSR, SSG, and ISR.
  • React 19 (RC) – Component-based UI library.
  • TypeScript 5 – Static typing for safer, maintainable code.

🎨 Styling & UI

  • Tailwind CSS 3.4 – Utility-first CSS framework.
  • Fluid Tailwind – Responsive fluid typography & spacing.
  • clsx – Conditional class management for dynamic styling.
  • React Icons – Ready-to-use icon sets.

📦 CMS & Content

  • Prismic CMS – Headless CMS for managing dynamic content.

    • @prismicio/client, @prismicio/react, @prismicio/next – Prismic SDKs for Next.js integration.
  • Slice Machine – Local custom type & slice builder for content modeling.

🎬 Animation

  • GSAP 3.12 – Timeline-based animations for smooth transitions.
  • @gsap/react – GSAP integration with React components.

🖼 3D & Visualization

  • Three.js 0.171 – 3D rendering engine.
  • React Three Fiber – React renderer for Three.js.
  • @react-three/drei – Helpers & controls for React Three Fiber.

💳 Payments

🧹 Tooling

  • ESLint + eslint-config-next – Linting and code quality.
  • PostCSS – CSS processing.
  • Turbopack – Fast local dev server (next dev).

🔋 Features

  • Landing Page – Hero section with immersive 3D keyboard.
  • 3D Keyboard Models – Rotate, zoom, and interact with keyboard layouts.
  • Switch Playground – Explore switches in 3D for tactile comparison.
  • Keycap Changer – Visualize custom keycap sets in real-time.
  • Dynamic Content – Manage content via Prismic CMS.
  • Smooth Animations – Powered by GSAP timelines and ScrollTrigger.
  • Secure Payments – Stripe Checkout integration for real transactions.
  • Responsive Design – Desktop, tablet, and mobile friendly.

🤸 Quick Start

Prerequisites

Clone the Project

git clone https://github.com/Itssanthoshhere/Nimbus-Keyboard-3D.git
cd Nimbus-Keyboards

Install Dependencies

npm install

Set Environment Variables

Create a .env.local file and add your Stripe keys:

STRIPE_PUBLIC_KEY=your_public_key
STRIPE_SECRET_KEY=your_secret_key

Run Development Server

npm run dev

Visit http://localhost:3000 to view the project.


🧱 Project Structure

File/Component Description
app/layout.tsx Layout wrapper and global providers
app/page.tsx Homepage rendering
slices/*/index.tsx Prismic slice components
components/Bounded.tsx Layout wrapper with consistent padding
components/Navbar.tsx Header navigation bar with menu and checkout button
components/Footer.tsx Footer with links and branding
components/Loader.tsx Loader animation for 3D canvas
components/Scene.tsx 3D scene for keyboards using React Three Fiber
utils/stripe.ts Stripe checkout configuration & helpers

📝 Customization

Add Pages & Slices

  1. Open Prismic Dashboard
  2. Create a new Page
  3. Add slices (heading, body, 3D components)
  4. Publish and view at /your-page-slug

Preview Content

Supports Prismic Preview Mode for local dev. 🔗 Preview Drafts in Next.js


🔗 Contacts


📄 License

This project is for educational purposes only and is not affiliated with or endorsed by Prismic, Next.js, Stripe, or any other third-party tools mentioned.

🎥 Inspired by the tutorial:

Learn Next.js 15, GSAP, Three.js and Prismic to build a 3D skateboard website by Prismic

📺 Watch on YouTube

All trademarks and assets belong to their respective owners.


⭐ Show Your Support

If you liked this project, give it a ⭐ and share it with your network!


About

⌨️ Nimbus Keyboards – A modern 3D interactive keyboard showcase built with Next.js 15, TailwindCSS, Prismic CMS, and React Three Fiber. Features immersive 3D models, smooth GSAP animations, dynamic content, and integrated payment system.

Topics

Resources

Stars

Watchers

Forks

Languages