A modern, real-time food delivery app built with React Native (Expo) and Firebase Firestore.
- Beautiful, user-friendly interface for browsing food items
- Real-time menu and order updates using Firebase Firestore
- Add items to cart, adjust quantities, and place orders
- Order history and status tracking
- Error handling and loading states
project/
├── app/ # App screens and layouts
│ └── (tabs)/ # Main tab screens (Menu, Cart, Orders)
├── assets/ # Images and static assets
│ └── images/
├── contexts/ # React context providers (e.g., CartContext)
├── hooks/ # Custom React hooks
├── services/ # Firebase and other service logic
├── node_modules/ # Project dependencies
├── .expo/ # Expo build/cache (auto-generated)
├── .gitignore
├── .prettierrc
├── app.json # Expo app config
├── expo-env.d.ts
├── package.json
├── package-lock.json
├── tsconfig.json # TypeScript config
└── README.md # Project documentation
git clone <your-repo-url>
cd FoodApp/projectnpm install- Create a Firebase project at https://console.firebase.google.com/
- Enable Firestore Database
- Download your service account key if you want to use admin scripts
- Update
services/firebaseConfig.tswith your Firebase config
npx expo start- Scan the QR code with Expo Go or run on an emulator
menuItemscollection: Stores menu items (name, description, price, image, category)orderscollection: Stores orders (created automatically by the app)
You can share your project with others using:
npx expo start- Share the QR code with testers or teammates. They can scan it using the Expo Go app on their mobile device.
- Use EAS Build to create production builds for iOS and Android.
- Use EAS Submit to upload your builds to the App Store or Play Store.
- Follow the Expo deployment guide for detailed steps.
- Add or update menu items in Firestore for real-time updates
- Tweak UI in
app/(tabs)/index.tsx,cart.tsx, andorders.tsx
MIT