ShopSeeker is an online grocery delivery mobile application built with React Native. It provides services for common users, delivery personnel, and merchants, enabling seamless ordering, delivery tracking, and product management. ShopSeeker also includes an admin portal for delivery drivers and merchants to manage orders, products, and logistics efficiently.
- 👥 Multi-role support: User, Delivery, Merchant
- 📍 Real-time grocery ordering and delivery
- 📤 Order and delivery management via merchant/delivery portal
- 🔔 In-time notifications using Socket
- 💳 Secure payment integration with Stripe
- 🌐 GraphQL-powered backend communication
- 🗃️ Robust state management with Redux and Redux-Saga
- ☁️ Backend integration with Parse Server
| Tech | Description |
|---|---|
| React Native | Cross-platform mobile development |
| Redux + Redux-Saga | State management and side-effects |
| GraphQL | Data fetching and mutations |
| Parse | Backend as a service for user & data mgmt |
| Stripe | Secure online payments |
| Socket | Real-time updates & notifications |
| React Navigation | App navigation and routing |
| TypeScript / JavaScript | Primary development language |
- Node.js >= 14
- Yarn or npm
- Xcode / Android Studio
- Watchman (macOS)
git clone https://github.com/daddyauden/shopseeker-app.git
cd shopseeker-app
npm installcd ios && pod install && cd ..
npx react-native run-iosnpx react-native run-androidupdate .env.development file in the project root with the following:
PARSE_HOST=***
PARSE_APP_ID=***
PARSE_JS_KEY=***
PARSE_MT_KEY=***
GOOGLE_CLIENT_ID=***
STRIPE_PUBLISHABLE_KEY=***Stripe is integrated for secure payment processing. The mobile app uses the Stripe SDK and securely communicates with backend services via GraphQL and Parse for creating payment intents and handling transactions.
WebSocket is used for push-like, real-time order and delivery updates. This keeps users, merchants, and delivery personnel synced during the order lifecycle.
yarn test
# or with Jest directly
npx jestA web-based management portal (not in this repo) is available for:
- Merchants: Product listing, inventory control, order management
- Delivery personnel: Delivery status tracking, task management
Portal is built separately and interacts with the same backend.
We welcome contributions! Here's how to get started:
- Fork the repo
- Create a new branch:
git checkout -b feature/YourFeature - Make changes and commit:
git commit -m 'Add some feature' - Push your branch:
git push origin feature/YourFeature - Submit a pull request
This project is licensed under the GNU License.