A basic geo-fenced e-commerce app implemented with React native (Typescript) please find attached in the release section a working installable binary build thank you. the build job was a success on expo servers regardless of the workflow error message displayed here thank you.
- Installation
- Project structure
- Usage/user story
- Author
- Features
- Tech stack
- Appendix
-
clone repo
git clone https://github.com/AdamuAbba/come_buy.git
-
install dependencies
yarn
-
run android build
locally or check package.json scripts command chords
npx expo run:android
- screens
- auth
- sign in screen
- sign up screen
- main
- Dashboard screen
- auth
- A user can go through the simulated offline authentication flow with basic form validations
- A user can scroll through products and try to place an order on any of available items by
tapping on the PLACE ORDER
button,
- Simplistic design
- Consistent design/theming with NativePaper
- Local state management with Redux
- Basic form validation with yup validation
- Internal form state management with formik
- fake store api as service/api layer
- Api access layer/data caching using RTK Query which was later swapped out for a basic JSON offline data in accordance to the requirement
Server: JSON Data
Implementation summary:
-
provided is a distance validation function that requests for the device location permission and if granted uses the geodist package to calculate the distance between the users coordinates and the assumed fixed constant
-
Basic simulated user authentication
-
Each component is modularized
-
A custom Github workflow triggers eas-updates for the
production channel
andproduction branch
on expo.binary production builds are also triggered from the samemain
branch as well
Component "folder level"
│ Component.styles.ts
│ Component.tsx
│ index.tsx