This is a visually rich, interactive web experience built with Next.js, inspired by the legacy and excitement of Ferrari F1. The project features custom animations, scroll-driven effects, and immersive media to showcase Ferrari's spirit.
- Hero Section with Video: Fullscreen looping video background with Ferrari branding.
- Animated Navbar: Minimal, animated navigation with audio feedback and text decryption effect.
- Scroll-Driven Text Animation: Pinned, animated text overlays with background imagery and smooth transitions.
- Photo Gallery: Interactive gallery that follows mouse/touch movement, displaying Ferrari images in a dynamic, trailing effect.
- Custom Card Animation: Animated "Scuderia Ferrari" card with text scrambling and audio on hover.
- Smooth Scrolling: Powered by Lenis for buttery-smooth scroll experience.
- Responsive Design: Works across devices and screen sizes.
- Custom Fonts & Styling: Uses FerroRosso and CoignPro fonts for authentic Ferrari feel.
Ferrari/
├── public/
│ ├── audio/ # Audio effects for UI
│ ├── fonts/ # Custom Ferrari and CoignPro fonts
│ ├── img/ # Ferrari images for gallery and backgrounds
│ ├── video/ # Hero section video
│ └── ... # SVGs and other assets
├── src/
│ └── app/
│ ├── components/ # All React components (navbar, gallery, card, etc.)
│ ├── globals.css # Global and Tailwind styles
│ ├── layout.js # App layout and providers
│ └── page.js # Main page with all sections
├── package.json # Dependencies and scripts
├── postcss.config.mjs # PostCSS/Tailwind config
├── next.config.mjs # Next.js config
└── README.md # Project documentation
- Node.js (v18+ recommended)
- npm, yarn, pnpm, or bun
-
Clone the repository:
git clone <repo-url> cd Ferrari
-
Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
-
Run the development server:
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open your browser: Visit http://localhost:3000 to view the app.
dev– Start the development server with Turbopackbuild– Build for productionstart– Start the production serverlint– Run ESLint
- KprMinimalNavbar: Animated navigation bar with audio and text effects.
- ScrollPinnedTextAnimation: Scroll-driven, pinned text with background image.
- Card: Animated card with text scrambling and audio on hover.
- PhotoGallery: Mouse/touch-following image gallery.
- LenisScrollProvider: Smooth scrolling provider.
- LoadingAnimation: Custom loading animation.
- About: (Optional) About section for project context.
- Images: Located in
public/img/(10+ Ferrari images) - Fonts:
FerroRosso.ttfandCoignPro-47Bold.ttfinpublic/fonts/ - Audio: UI sound effects in
public/audio/ - Video: Hero video in
public/video/
- To add/remove images, update the
public/img/folder and theimagesDataarray inphotoGallery.jsx. - To change hero video, replace
public/video/home.mp4. - To update text or sections, edit
src/app/page.jsand relevant components.
next,react,react-dom@react-three/fiber,@react-three/drei(for 3D/animation, if used)framer-motion(animations)gsap(animations)lenisand@studio-freight/lenis(smooth scrolling)react-icons(iconography)three(3D, if used)tailwindcss(styling)
This project is for educational and demonstration purposes. Please check individual asset licenses before commercial use.