Skip to content
/ Nimbus Public

Nimbus Keyboard - A premium keyboard showcase website featuring immersive 3D animations and interactive scroll experiences. Built with Next.js, React Three Fiber, and GSAP for stunning visual storytelling and product presentation in the mechanical keyboard space.

Notifications You must be signed in to change notification settings

RISHII7/Nimbus

Repository files navigation

πŸš€ Nimbus Keyboard

A premium keyboard showcase website featuring immersive 3D animations and interactive scroll experiences

Next.js React Three.js GSAP Tailwind CSS TypeScript

✨ Features

🎬 Immersive 3D Experience

  • Interactive 3D Keyboard Models with realistic lighting and materials
  • Scroll-triggered Animations powered by GSAP ScrollTrigger
  • Mouse Parallax Effects for enhanced user engagement
  • Dynamic Camera Controls with smooth transitions

🎨 Interactive Components

  • Real-time Keycap Color Changer - Customize keyboard aesthetics
  • Switch Playground - Explore different mechanical switches
  • Animated Hero Section with wave effects and smooth reveals
  • Dynamic Marquee with bidirectional text scrolling

πŸ’» Modern Tech Stack

  • Next.js 15.5.4 with Turbopack for lightning-fast builds
  • React 19 with latest features and optimizations
  • Three.js & React Three Fiber for 3D graphics
  • GSAP for professional animations
  • Tailwind CSS 4.0 for modern styling
  • Prismic CMS for content management

πŸ›’ Business Ready

  • Purchase Integration with checkout system
  • Responsive Design across all devices
  • SEO Optimized with Next.js best practices
  • CMS-Driven Content for easy management

🎯 Live Demo

View Live Site β†’

πŸ“Έ Screenshots

🏠 Hero Section

Hero Section

🎨 Color Changer

Color Changer

πŸŽ›οΈ Switch Playground

Switch Playground

πŸƒβ€β™‚οΈ Marquee Section

Marquee

πŸ“¦ Features Grid

BentoBox Features

πŸ’³ Purchase Section

Purchase Button

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • Bun (recommended) or npm/yarn
  • Git

Installation

  1. Clone the repository
git clone https://github.com/yourusername/nimbus-keyboard.git
cd nimbus-keyboard
  1. Install dependencies
bun install
# or
npm install
  1. Set up environment variables
# Create .env.local file
cp .env.example .env.local

# Add your Prismic repository details
NEXT_PUBLIC_PRISMIC_ENVIRONMENT=your-repo-name
PRISMIC_ACCESS_TOKEN=your-access-token
  1. Run the development server
bun dev
# or
npm run dev
  1. Open your browser
http://localhost:3000

πŸ› οΈ Available Scripts

Command Description
bun dev Start development server with Turbopack
bun build Build for production
bun start Start production server
bun lint Run ESLint
bun slicemachine Start Prismic Slice Machine

πŸ—οΈ Project Structure

nimbus-keyboard/
β”œβ”€β”€ πŸ“ public/              # Static assets
β”‚   β”œβ”€β”€ πŸ–ΌοΈ *.jpg            # Keyboard images
β”‚   └── 🎨 *.png            # Textures & materials
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ app/             # Next.js app directory
β”‚   β”œβ”€β”€ πŸ“ components/      # Reusable components
β”‚   β”‚   β”œβ”€β”€ 🎹 Keyboard/    # 3D keyboard component
β”‚   β”‚   β”œβ”€β”€ πŸ”˜ Keycap/      # Individual keycap
β”‚   β”‚   β”œβ”€β”€ πŸŽ›οΈ Switch/      # Switch component
β”‚   β”‚   β”œβ”€β”€ 🧭 Nav-bar/     # Navigation
β”‚   β”‚   β”œβ”€β”€ πŸ‘₯ Footer/      # Footer
β”‚   β”‚   └── ⚑ Loader/      # Loading screen
β”‚   β”œβ”€β”€ πŸ“ slices/          # Prismic slices
β”‚   β”‚   β”œβ”€β”€ 🎬 Hero/        # Hero section
β”‚   β”‚   β”œβ”€β”€ 🎨 ColorChanger/ # Color customization
β”‚   β”‚   β”œβ”€β”€ πŸŽ›οΈ SwitchPlayground/ # Switch interaction
β”‚   β”‚   β”œβ”€β”€ πŸƒβ€β™‚οΈ Marquee/    # Scrolling text
β”‚   β”‚   β”œβ”€β”€ πŸ“¦ BentoBox/    # Features grid
β”‚   β”‚   └── πŸ’³ PurchaseButton/ # CTA section
β”‚   └── πŸ“ checkout/        # Purchase logic
β”œβ”€β”€ πŸ“ customtypes/         # Prismic schemas
└── πŸ“„ Configuration files

🎨 Key Components

🎹 3D Keyboard (/src/components/Keyboard/)

  • Realistic Materials: PBR textures and lighting
  • Interactive Elements: Clickable keys and switches
  • Performance Optimized: Efficient rendering and memory usage

🎨 Color Changer (/src/slices/ColorChanger/)

  • Real-time Preview: Instant keycap color updates
  • Material Variants: Multiple texture options
  • Smooth Transitions: GSAP-powered color morphing

πŸŽ›οΈ Switch Playground (/src/slices/SwitchPlayground/)

  • Interactive Testing: Click and feel different switches
  • CMS Integrated: Dynamically loaded switch types
  • Educational: Learn about mechanical switches

🎭 Animation Features

  • 🌊 Wave Animations: Cascading effects across keyboard
  • πŸ“œ Scroll Triggers: Content reveals on scroll
  • πŸ–±οΈ Mouse Parallax: Dynamic camera movement
  • ⚑ Loading States: Smooth transitions and feedback
  • πŸŽͺ Text Animations: SplitText and morphing effects

πŸ“± Responsive Design

  • πŸ“± Mobile First: Optimized for all screen sizes
  • πŸ’» Desktop Enhanced: Rich interactions on larger screens
  • β™Ώ Accessible: WCAG compliant with motion preferences
  • ⚑ Performance: Optimized loading and rendering

🧰 Tech Stack Deep Dive

Frontend

  • Next.js 15.5.4 - React framework with app router
  • React 19.1.0 - Latest React with concurrent features
  • TypeScript 5 - Type-safe development
  • Tailwind CSS 4.0 - Utility-first styling

3D & Animation

  • Three.js 0.180.0 - 3D graphics library
  • @react-three/fiber - React renderer for Three.js
  • @react-three/drei - Useful helpers and components
  • GSAP 3.13.0 - Professional animation library

Content Management

  • Prismic CMS - Headless content management
  • Slice Machine - Component-driven development

UI Components

  • Radix UI - Accessible component primitives
  • React Icons - Popular icon library
  • Clsx - Conditional CSS classes

πŸ“ˆ Performance

  • ⚑ Turbopack: Next-gen bundler for faster builds
  • πŸ”„ Code Splitting: Automatic route-based splitting
  • πŸ–ΌοΈ Image Optimization: Next.js automatic optimization
  • πŸ“¦ Tree Shaking: Eliminate unused code
  • πŸš€ Static Generation: Pre-rendered pages when possible

πŸš€ Deployment

Vercel (Recommended)

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel --prod

Other Platforms

  • Netlify: npm run build then deploy dist/
  • Railway: Connect GitHub repo
  • DigitalOcean: Use App Platform

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m '✨ feat: add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Rushikesh Palande

πŸ™ Acknowledgments

🌟 Show your support

Give a ⭐️ if you like this project!


Built with ❀️ for the mechanical keyboard community

Live Demo β€’ Features β€’ Quick Start β€’ Contributing

About

Nimbus Keyboard - A premium keyboard showcase website featuring immersive 3D animations and interactive scroll experiences. Built with Next.js, React Three Fiber, and GSAP for stunning visual storytelling and product presentation in the mechanical keyboard space.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages