React Native (Expo) Mobile App for a Food-Delivery Platform
A food-delivery platform
Overview
The customer mobile app for a 24/7 food-delivery platform, built with React Native and Expo. It provides the on-the-go ordering experience against the platform’s AdonisJS API, with multilingual support and a Redux-Saga architecture.
Why It Exists
Delivery customers expect to browse and order from their phones. This app delivers a cross-platform (iOS/Android) client via Expo, sharing the same backend as the web app while offering native navigation, search and forms.
What We Built
A React Native app (Expo managed workflow) organized with a Redux/Saga architecture: App/Containers, App/Components, App/Redux, App/Sagas, App/Services, App/Navigation and App/Config. State uses redux with reduxsauce, redux-saga, seamless-immutable and redux-persist for offline-friendly persistence; API calls go through apisauce. The UI is built on native-base with react-navigation, plus react-native-autosuggest/native-base-autocomplete for search, react-native-datepicker-dialog, react-native-infinite-scroll-view, react-native-prompt and react-native-chooser. Internationalization is handled with i18next/react-i18next and ex-react-native-i18n, and reactotron is wired up for development-time debugging.
Technologies & Approach
Expo + React Native let one JavaScript codebase target both mobile platforms with fast iteration. NativeBase supplied a consistent component library, React Navigation handled routing, and the reduxsauce/redux-saga pattern gave a clean separation of side effects, a well-established RN architecture of the era, with redux-persist keeping sessions resilient.
Outcome / Impact
Delivered the native mobile ordering client for the delivery platform, multilingual and offline-aware, completing the customer-facing surface alongside the web app and shared API.
Capabilities Demonstrated
- Cross-platform mobile development with React Native + Expo
- Redux-Saga side-effect management and persisted state
- Internationalized (i18next) mobile UX
- Component-driven UI with NativeBase and React Navigation