This project is a modern, interactive ReactJS website inspired by the Apple iPhone 15 Pro Max product page. It showcases advanced UI/UX, 3D model integration, smooth animations, and responsive design. The site is built for learning, demonstration, and as a template for high-quality product landing pages.
- Live-Demo: https://modern-iphone-3d-ui.netlify.app/
- Project Overview
- Features
- Technology Stack
- Project Structure
- Components & Reusability
- How to Run
- Deployment
- Usage & Walkthrough
- Keywords
- Conclusion
- 3D iPhone Model: Interactive, color and size selection using Three.js and react-three-fiber.
- GSAP Animations: Smooth scroll-based and timeline animations for engaging transitions.
- Video Highlights: Carousel of product highlight videos with animated progress indicators.
- Responsive Design: Mobile-first, fully responsive layout using Tailwind CSS.
- Sentry Integration: Error tracking and performance monitoring.
- Reusable Components: Modular React components for easy extension and reuse.
- Netlify Ready: SPA routing and deployment configuration for Netlify.
- ReactJS
- Vite (build tool)
- Tailwind CSS
- GSAP (GreenSock Animation Platform)
- Three.js & @react-three/fiber
- @react-three/drei (3D helpers)
- Sentry (monitoring)
- Netlify (deployment)
├── index.html
├── package.json
├── postcss.config.js
├── tailwind.config.js
├── vite.config.js
├── netlify.toml
├── public/
│ └── assets/
│ ├── images/ (SVGs, JPEGs)
│ └── videos/ (MP4s)
│ └── models/
│ └── scene.glb
├── src/
│ ├── App.jsx
│ ├── main.jsx
│ ├── index.css
│ ├── constants/
│ │ └── index.js
│ ├── utils/
│ │ ├── animations.js
│ │ └── index.js
│ └── components/
│ ├── Navbar.jsx
│ ├── Hero.jsx
│ ├── Highlights.jsx
│ ├── VideoCarousel.jsx
│ ├── Model.jsx
│ ├── ModelView.jsx
│ ├── IPhone.jsx
│ ├── Features.jsx
│ ├── HowItWorks.jsx
│ ├── Lights.jsx
│ ├── Loader.jsx
│ └── Footer.jsx
Each component is modular and can be reused in other React projects:
- Navbar: Responsive navigation bar with Apple branding and links.
- Hero: Main product showcase with video and CTA.
- Highlights: Section with animated video carousel and highlight texts.
- Model: Interactive 3D iPhone model with color/size selection.
- Features: Storytelling section with images, video, and animated text.
- HowItWorks: Explains the A17 Pro chip with visuals and video.
- Footer: Informational footer with links and copyright.
To reuse a component, import it in your React project and provide necessary props (see each file for details). For example:
import Model from './components/Model';
<Model />
-
Clone the repository:
git clone <your-repo-url> cd iphone
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open in browser: Visit
http://localhost:5173
(or as shown in terminal)
This project is ready for Netlify deployment. The netlify.toml
file ensures SPA routing works smoothly.
-
Build the project:
npm run build
-
Deploy to Netlify:
- Drag and drop the
dist
folder in Netlify dashboard, or connect your GitHub repo. - All routes will redirect to
index.html
for client-side navigation.
- Drag and drop the
- Navbar: Top navigation with Apple logo, search, and bag icons.
- Hero Section: Displays iPhone 15 Pro with responsive video and CTA button.
- Highlights: Animated carousel of product highlight videos and texts.
- Model: Interactive 3D iPhone model. Users can select color and size.
- Features: Story-driven section with images and video.
- How It Works: Details about the A17 Pro chip with visuals and video.
- Footer: Informational links and copyright.
- GSAP powers scroll and timeline animations for smooth transitions.
- Video carousel uses GSAP for progress indicators and transitions.
- Uses Three.js via @react-three/fiber and @react-three/drei.
- Model is loaded from
/public/models/scene.glb
. - Color and size selection updates the model in real-time.
- Sentry is integrated for error tracking and performance monitoring.
ReactJS, Vite, Tailwind CSS, GSAP, Three.js, @react-three/fiber, @react-three/drei, Sentry, Netlify, SPA, 3D Model, Animation, Product Landing Page, Apple, iPhone, UI/UX, Responsive Design, Modular Components, Error Monitoring
This project demonstrates how to build a modern, interactive product landing page using React, 3D graphics, and advanced animations. All components are reusable and the codebase is well-structured for learning and extension. Use this as a template for your own product pages or to learn best practices in React and 3D web development.
Feel free to use this Project Repository and extend this project further!
If you have any questions or want to share your work, reach out via GitHub or my portfolio https://arnob-mahmud.vercel.app/.
Enjoy building and learning! 🚀
Thank you! 😊