- React / React Native
- TypeScript
- Expo
- Redux / Redux Toolkit
- React Navigation
npm i
npm startThen, connect the simulator or the device and run the project through the Expo console. Or, scan QR code using the Expo Go client on physical phone (Android only).
- Categories listing
- Featured products listing
- Category products listing
- View product details
- View product details though an external link/URL
- Pull-to-refresh in most areas of the app
- Add products to Cart
- Remove products from Cart
- Cart listing
- Products swiper
- User profile
- Toggle RTL direction
- Notifications & Location permissions control
- Addresses listing
- Add addresess
- Map view to select address location (defaults to user's current location)
- Searchbar UI (not functional)
- Error and Empty states components and notifications
-- components (contains all the components being utilized and composed to form the screens)
|- Categories
|- LocationMap
|- ProductCard
|- ...
|- UIElements
|- Loader
|- CustomButton
|- ToggleSwitch
|- ...
-- hooks (contains all the custom reusable React Hooks)
|- useDeeplinkRedirect.ts
|- useServerCall.ts
|- ...
-- navigation (contains all the navigation logic)
-- Networking (contains APIs, networking handlers, and Axios instance)
|- axiosInstance.ts
|- categoriesAPIs.ts
|- productsAPIs.ts
|- ...
-- screens (stand-alone screens/activities/pages)
|-- Home
|-- CategoryProducts
|-- Cart
|-- ProductDetails
|-- ...
-- store (includes Redux/RTK configurations and state slices)
|-- slices (state slices)
|-- cart.ts
|-- user.ts
|-- categories.ts
|-- ...
|-- index.ts (reducers combination and store configuration)
-- utilities
|-- common.ts (contains common values that are used globally across the App)
|-- commonTypes.ts (contains the reoccurring common TypeScript types)
|-- errorsMap.ts (maps network errors' status codes)
|-- fp_utils.ts (functional programming hand-made utilities)
|-- helpers.ts (general functions)You can automatically open the app and get redirected to a specific product screen by using a link/URL (Deeplink). This link scheme should be as follows:
tradelingapp://product?id=19