Product ordering application made with expo/react-native.
The aim of this project is to create a web and mobile product ordering application tailored towards small businesses who want to be able to manage everything from a single endpoint. Current features include user and admin accounts, admin dashboard for tracking orders and managing products, realtime order tracking and updating for both types of accounts.
Future Goals: push notifications, live support chat
- User Accounts/Admin Accounts
- Admin Dashboard
- Can create new products and edit existing ones
- Realtime order tracking and updating
- Expo
- Supabase
- Stripe
- Redux
- Redux-Toolkit
- Tanstack Query
- React-Hook-Form
- Zod
- Tamagui
- React-Native-Reanimated
- Lottie-React-Native
- A coustom version of React-Gifted-Charts to work on the Web too
- Typescript
Remember to update `.env` with your Supabase keys, website URL and Stripe keys!
Example:
_Provided by Supabase_
EXPO_PUBLIC_SUPABASE_URL = //Public Supabase key or Local IP to run locally
EXPO_PUBLIC_SUPABASE_PUBLIC_KEY = //Public Supabase key or Local key to run locally
Check this link for more information about running [Supabase Locally](https://supabase.com/docs/guides/cli/local-development)
_Provided by Stripe_
EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
_Provide Demo Accounts made on Supabase_
__Need to be manually created from the Supabase Dashboard__
EXPO_PUBLIC_ADMIN_DEMO_ACCOUNT_ID=
EXPO_PUBLIC_ADMIN_DEMO_ACCOUNT_PASS=
EXPO_PUBLIC_USER_DEMO_ACCOUNT_ID=
EXPO_PUBLIC_USER_DEMO_ACCOUNT_PASS=
git clone https://github.com/EduardStroescu/ExpoDash.git
npm install or npx expo install
Inside [your_project_name]/node_modules > replace react-native-gifted-charts with the one from: https://github.com/EduardStroescu/ExpoDash/tree/edited-react-native-gifted-charts
Create a Supabase project, open Docker and run the following:
npx supabase login
npx supabase start - From here you also get the keys for running Supabase locally
npx supabase push - to sync remote Supabase db with the local one
npm run start -- install any other required dependencies if asked && open with Expo Go on your mobile device if using Windows || Device Emulator on mac
_For Web /w Vercel_
[More info on](https://docs.expo.dev/distribution/publishing-websites/) and [here for Vercel](https://vercel.com/docs/cli)
npx expo export -p web
npx serve dist --single
npm install -g vercel@latest
vercel build
Copy everything from your dist folder to your new .vercel/output/static
vercel deploy --prebuilt
eas build --platform all
More info here: https://docs.expo.dev/deploy/build-project/