Here's a README format tailored for your React Native mobile app:
Welcome to the Repository, a dynamic mobile food delivery app built with React Native and Expo. This full-featured app combines a sleek, responsive frontend with a robust backend powered by Appwrite. Whether you’re exploring restaurants, placing orders, or managing your account, our app delivers a seamless user experience. Dive into our codebase to see how we've integrated state-of-the-art technologies like Redux, Stripe, Google Places, and Sanity.io to craft a compelling food delivery service.
- STORE DEMO: App Demo Link
- Responsive Design: Mobile-first design with TailwindCSS for optimal user experience across devices.
- State Management: Powerful state management using Redux and Redux Persist.
- Smooth Navigation: Seamless navigation between screens with React Navigation.
- Google Maps Integration: Location-based services powered by Google API and Google Places.
- Secure Payment: Integrated Stripe for secure and hassle-free payments.
- Restaurant & Food Management: Managed with Sanity.io, providing a flexible content structure for food and restaurant collections.
- User Authentication: Secure user login and registration handled by Appwrite.
- Order & Cart Management: Efficient handling of cart items and order processing.
- API Integration: Seamless API requests using Axios, powered by serverless functions hosted on Appwrite.
- Push Notifications: Stay updated with real-time notifications using Expo Push Notifications.
- React Native (0.74.5)
- Expo (~51.0.28)
- TailwindCSS via NativeWind (^4.0.36)
- Redux Toolkit (^2.2.6) and Redux Persist (^6.0.0)
- React Navigation (^6.1.17)
- Stripe (0.37.2)
- Google Places Autocomplete (^2.5.6)
- Sanity.io (^6.20.2)
- Axios (^1.7.4)
- React Native Maps (1.14.0)
- React Native Vector Icons (^10.1.0)
- Appwrite (Database, Authentication, Serverless Functions)
- Axios for API requests
- Stripe for payment processing
Before running the application, ensure that you have the following installed:
- Node.js (v12 or above)
- npm or yarn package manager
- Expo CLI for running the development server
- Appwrite Server for backend services (or access to an Appwrite instance)
- Stripe Account for payment processing
To get started with the app, follow these steps:
-
Clone the repository:
git clone https://github.com/Nuellity/FoodDelivery-ReactNative.git
-
Install dependencies:
Navigate to the project root and install the necessary packages:
cd FoodDelivery-ReactNative npm install
-
Start the development server:
expo start
The app should automatically open in your default simulator or connected device.
-
Set up environment variables:
Create a
.env
file in the root of your project and add the following:
GOOGLE_API_KEY=
APPWRITE_ENDPOINT=
APPWRITE_PROJECT_ID=
PLATFORM=
DATABASE_ID=
USER_COLLECTION_ID=
STRIPE_PUBLISH_KEY=
-
Run on physical device:
To run the app on a physical device, install the Expo Go app on your device and scan the QR code provided by the Expo CLI.
To run tests, use the following command:
npm run test
To deploy the app, you can use services like Expo EAS, Appwrite Cloud for backend services, and Stripe for payment processing.
This project utilizes the following dependencies:
- React Native
- Expo
- TailwindCSS
- Redux Toolkit
- React Navigation
- Stripe
- Google Places Autocomplete
- Sanity.io
- Axios
- Appwrite
- Stripe
- Axios
Refer to the respective documentation for more detailed information.
We welcome contributions! Please open an issue or a pull request with any suggestions or improvements.
This project is licensed under the MIT License - see the LICENSE file for details.