A food delivery app made with React-native, Expo and Firebase.
Client: React-native
Backend: Nodejs, Firebase
Database: Firebase/Firestore
Link to Production build apk Google Drive Link
Phone Authentication
Products
Cart
Profile
First of all clone this project
https://github.com/bleedingAyush/foodie.git
Go to the project directory
cd foodie
Install dependencies
npm run install-packages
Register for an account at Expo and Firebase
Initialize the project with eas-build Learn more
Create a development build first to check wether it is working.
npm run build-dev-android
Start the dev-client
npm run client
Backend
PORT
: E.g. 5000
To run firebase-admin on a custom server you need to give it certain keys. I have listed them below. Read this medium article to learn more
PROJECT_ID
: Firebase project id
PRIVATE_KEY
: Firebase private key
CLIENT_EMAIL
: Firebase client email
DATABASE_URL
: Firebase database url
Frontend
You may be running your dev client in a mobile device for that instead of localhost url like http://localhost:5000
, change it to http://<your-ip>:5000
so the mobile can fetch data from the port 5000 on your computer.
Note: Your phone and PC needs to be connected to the same network.
In eas-build when you are deploying your app in production you need to perform one additional step in order for environment variables to work succesfully that is to create a secret with the same names as in the .env files. Learn more
API_URL
: E.g. http://<your-ip-address>:<PORT>