A React Native component that enhances the experience of selecting your coffee beverage with beautiful 3D animations and smooth transitions.
- Interactive 3D Coffee Cup - Real-time visualization of your coffee selection
- Smooth Animations - Powered by react-native-reanimated for buttery smooth transitions
- Step-by-Step Selection - Guided coffee customization process
- Beautiful UI - Coffee-themed design with warm colors and gradients
- Multi-step Process:
- Bean Selection - Choose from different coffee bean origins
- Grind Level - Select the perfect grind for your brewing method
- Preparation Method - Pick your preferred brewing technique
- Toppings - Customize with milk, sweeteners, and extras
- Review - Final order summary with pricing
- Node.js (v16 or higher)
- Expo CLI
- iOS Simulator or Android Emulator (or physical device)
- Clone the repository:
git clone <your-repo-url>
cd coffee-selector- Install dependencies:
npm install- Start the development server:
npm start- Run on your preferred platform:
npm run ios # iOS Simulator
npm run android # Android Emulator
npm run web # Web browsersrc/
├── components/
│ ├── CoffeeSelector.tsx # Main component orchestrating the flow
│ ├── 3d/
│ │ └── CoffeeCup3D.tsx # 3D coffee cup visualization
│ ├── steps/
│ │ ├── BeanSelector.tsx # Coffee bean selection
│ │ ├── GrindSelector.tsx # Grind level selection
│ │ ├── PreparationSelector.tsx # Brewing method selection
│ │ ├── ToppingSelector.tsx # Toppings and customization
│ │ └── ReviewScreen.tsx # Order review and confirmation
│ └── ui/
│ └── StepIndicator.tsx # Progress indicator
├── constants/
│ └── coffeeData.ts # Coffee beans, methods, and toppings data
├── types/
│ └── index.ts # TypeScript type definitions
└── animations/ # Custom animation utilities (future)
- Primary:
#2C1810(Rich coffee brown) - Secondary:
#D4A574(Golden coffee) - Accent:
#F5DEB3(Cream) - Text:
#8B7355(Muted brown)
- Smooth Transitions: All state changes are animated
- Staggered Animations: Elements appear with delightful delays
- 3D Perspective: Coffee cup rotates and updates in real-time
- Micro-interactions: Buttons and selections provide immediate feedback
- React Native - Cross-platform mobile development
- Expo - Development platform and build tools
- react-native-reanimated - High-performance animations
- react-native-svg - Vector graphics for the 3D coffee cup
- expo-linear-gradient - Beautiful gradient backgrounds
- TypeScript - Type safety and better developer experience
- Continuous gentle rotation using
withRepeat - Coffee color changes based on selected bean
- Milk layer appears when milk toppings are selected
- Steam particles for hot beverages
- Topping visualization as small colored dots
- Fade in/out with vertical translation
- Staggered card animations in lists
- Scale animations for selection feedback
- Progress bar with smooth interpolation
- react-native-skia integration for true 3D rendering
- Particle systems for grinding animation
- Liquid pouring animations
- Steam simulation with realistic physics
- Sound effects for interactions
- Haptic feedback
- Save favorite combinations
- Social sharing of coffee creations
- AR preview of coffee cup
- Integration with coffee shop APIs
- Real-time pricing
- Order tracking
- Loyalty program integration
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Coming soon - Add screenshots of each step in the coffee selection process
This project is licensed under the MIT License - see the LICENSE file for details.
- Coffee data inspired by real coffee varieties and brewing methods
- Design inspired by modern coffee shop experiences
- Animation patterns following Material Design and iOS Human Interface Guidelines