A modern, high-performance React Native ice cream e-commerce app built with Expo and Firebase.
- ποΈ Product Catalog: Browse 12 delicious ice cream flavors
- β€οΈ Favorites: Save favorite ice creams with persistent storage
- π Shopping Cart: Add items with quantity management
- π¦ Order Tracking: View order history and status
- π Address Management: Save multiple delivery addresses
- π Authentication: Email/password login with Firebase Auth
- π¨ Beautiful UI: Smooth animations with React Native Reanimated
- π§ Product Management: Add, edit, delete products
- π Inventory Control: Update stock and pricing
- πΌοΈ Image Upload: Upload product images to Firebase Storage
- π₯ Order Management: View and manage customer orders
- β‘ <2s Startup Time - Powered by Hermes engine
- π Low Memory Usage - Optimized React contexts
- π Smooth Scrolling - FlatList performance tuning
- πΎ Offline Support - AsyncStorage for favorites
- π₯ Optimized Firestore - Query limits and caching
See OPTIMIZATION_REPORT.md for detailed metrics.
| Category | Technology |
|---|---|
| Framework | React Native (Expo) |
| Language | JavaScript |
| Backend | Firebase (Auth, Firestore, Storage) |
| Navigation | React Navigation v7 |
| State Management | React Context API |
| Animations | React Native Reanimated v4 |
| Icons | FontAwesome, Expo Vector Icons |
| Storage | AsyncStorage |
| Engine | Hermes (enabled) |
icecream_app/
βββ app/
β βββ components/ # Reusable UI components
β β βββ BrandHeader.jsx
β β βββ delivery.jsx
β βββ config/ # Firebase configuration
β β βββ firebaseConfig.js
β βββ constants/ # App constants
β β βββ images.js
β β βββ theme.js
β βββ contexts/ # React contexts
β β βββ AuthContext.js
β β βββ CartContext.js
β β βββ FavoritesContext.js
β β βββ ProductsContext.js
β βββ screens/ # App screens
β β βββ home.jsx
β β βββ screen.jsx (shop)
β β βββ cart.js
β β βββ checkout.jsx
β β βββ orderHistory.jsx
β β βββ profile.jsx
β β βββ admin.jsx
β βββ services/ # Firebase services
β β βββ firestoreService.js
β β βββ storageService.js
β βββ App.js # Main app component
βββ assets/ # Images and fonts
βββ android/ # Android native code
βββ firestore.rules # Firestore security rules
βββ storage.rules # Storage security rules
βββ app.json # Expo configuration
βββ package.json # Dependencies
- Node.js 18+
- npm or yarn
- Expo CLI
- Android Studio (for Android)
- Xcode (for iOS, macOS only)
-
Clone the repository
git clone <repository-url> cd icecream_app
-
Install dependencies
npm install
-
Configure Firebase
- Create a Firebase project at console.firebase.google.com
- Download
google-services.json(Android) - Update
app/config/firebaseConfig.jswith your credentials
-
Deploy Firebase rules
# Deploy Firestore rules firebase deploy --only firestore:rules # Deploy Storage rules firebase deploy --only storage:rules
-
Start the app
npx expo start
# Start development server
npx expo start
# Run on Android
npx expo start --android
# Run on iOS
npx expo start --ios
# Clear cache
npx expo start --clearSee BUILD_GUIDE.md for detailed build instructions.
- Get Started - Onboarding screen
- Login/Register - Authentication
- Shop - Browse ice cream products
- Product Details - View individual product
- Cart - Review cart items
- Checkout - Enter delivery details
- Order History - View past orders
- Profile - User settings
- Admin Panel - Product management (admin only)
Admin Email: hariprakashpc@gmail.com
Admin users can:
- Access admin panel from profile
- Add/edit/delete products
- Upload product images
- Manage inventory
- User registration and login
- Browse all 12 ice cream products
- Add items to cart (various quantities)
- Add/remove favorites
- Place order
- View order history
- Admin: Add new product
- Admin: Update product price
- Admin: Delete product
# Test with production settings
npx expo start --no-dev --minify
# Profile Android performance
adb shell dumpsys gfxinfo com.icecream.icecreamapp| Metric | Target | Actual | Status |
|---|---|---|---|
| Startup Time | <2s | ~1.5s | β |
| Memory Usage | <100 MB | ~80 MB | β |
| Scroll FPS | 60 | 60 | β |
| APK Size | <40 MB | ~35 MB | β |
- β Firebase Security Rules configured
- β Admin access restricted
- β User authentication required
- β Input validation on all forms
- β No sensitive data in logs
- β API keys in environment variables
No critical issues. See GitHub Issues for feature requests.
This app has been fully optimized for production:
β Code Quality
- All console.log statements removed
- useCallback/useMemo implemented
- Proper cleanup on unmount
β Performance
- Hermes engine enabled
- FlatList optimizations
- Query limits on Firestore
- Image optimization strategy
β Build
- Proguard minification
- Resource shrinking
- Optimized dependencies
See OPTIMIZATION_REPORT.md for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is private and proprietary.
- Firebase for backend services
- Expo for React Native framework
- React Navigation for routing
- React Native Reanimated for animations
For issues or questions:
- Email: hariprakashpc@gmail.com
- Firebase Console: vee-one-33b07
- GitHub Issues: Create an issue
- Payment gateway integration (Razorpay/Stripe)
- Push notifications for order updates
- Multi-language support
- Dark mode theme
- Customer reviews and ratings
- Loyalty points program
- β Initial release
- β 12 ice cream products
- β Full e-commerce functionality
- β Admin panel
- β Performance optimizations
- β Production-ready build
Made with β€οΈ for ice cream lovers
Status: β
Production Ready
Version: 1.0.0
Last Updated: October 26, 2025