Mobile App dev for IOS/Android - React Native
Worldwide
Technical Specification – B2B Mobile Ordering Application Project Summary Develop a standalone B2B mobile ordering application similar in workflow to SalesPresenter B2B. The application will not integrate with the client’s existing website. It will have its own backend, database, admin panel, warehouse portal, and customer application. The system should be scalable so additional features can be added in future. ⸻ Overall Architecture The system will consist of: * Mobile Application (Android initially, with ability to expand to iOS) * Backend API * Database * Admin Portal (Web) * Warehouse Portal (Web) * Email Service * Push Notifications (optional future feature) ⸻ User Roles 1. Customer Can: * Login * View products * Search products * Filter products * View product images * View descriptions * View SKU/item code * View stock availability * Add products to basket * Submit orders * View previous orders ⸻ 2. Admin Can: * Login * Add/Edit/Delete products * Upload product images * Edit descriptions * Edit stock quantities * Create customer accounts * Disable customer accounts * View all orders * Search orders * Export orders * Manage categories ⸻ 3. Warehouse Staff Can: * Login * View incoming orders * Open order details * View customer information * View product quantities * Update order status Statuses: * New * Picking * Packed * Ready for Dispatch * Completed ⸻ Product Module Each product should include: * Product ID * SKU * Product Name * Description * Main Image * Additional Images (optional) * Category * Stock Quantity * Active / Inactive ⸻ Stock Management Admin updates stock. Customers can only view stock. Stock should update automatically after successful order processing. Future proof the system for multiple warehouses if possible. ⸻ Mobile Application Login Secure authentication. Remember login. Logout. ⸻ Dashboard * Product search * Category filtering * Product listing ⸻ Product Screen Display: * Image * Name * Description * SKU * Available stock * Quantity selector * Add to basket ⸻ Basket Allow: * Edit quantities * Remove products * View totals * Submit order ⸻ Offline Mode (Very Important) This is one of the biggest requirements. The app must continue working without internet. Requirements: * Products remain available after last sync. * Customer can create new orders. * Orders save locally on device. * Multiple offline orders allowed. * Orders remain in Pending Sync. * Once internet returns: * Detect connectivity automatically. * Sync pending orders. * Prevent duplicate uploads. * Retry failed uploads. * Mark synced orders as completed. No user interaction should be required. ⸻ Synchronisation When online: Sync: * Products * Stock * Categories Upload: * Orders Download: * Updated stock Conflict handling: Latest server data should always win for stock quantities. ⸻ Order Flow Customer creates order. ↓ Order saved locally. ↓ If online: Send immediately. If offline: Store locally. ↓ Internet restored. ↓ Orders upload automatically. ↓ Server confirms. ↓ Confirmation email generated. ↓ Warehouse receives order. ⸻ Order Email Once an order reaches the server: Automatically send email to client. Email should contain: * Order Number * Customer Name * Company * Date * Product Image * Product Name * SKU * Description * Quantity Prefer HTML email. ⸻ Warehouse Portal Order List Filters: * New * Picking * Packed * Completed Order Detail Show: Customer details Products Images Quantities Notes Allow status updates. ⸻ Admin Portal Dashboard Products Orders Customers Inventory Settings Reports (future) ⸻ Database Suggested entities: Users Customers Products Categories Orders Order Items Inventory Warehouse Status Offline Sync Queue Email Logs ⸻ Security * JWT Authentication * Password hashing * HTTPS only * Role-based permissions * Audit logs for admin actions ⸻ Suggested Tech Stack Backend * Laravel or Node.js (developer preference) Database * MySQL or PostgreSQL Admin Portal * React / Vue Mobile * Flutter (preferred) or React Native Storage * AWS S3 or Cloud Storage Push Notifications * Firebase Cloud Messaging (future) Offline Database * SQLite (Flutter) or equivalent local storage solution ⸻ Future Features * Barcode scanner * PDF catalogue * Customer-specific pricing * Promotions * Sales analytics * Multi-language support * Multi-warehouse support * Delivery tracking * ERP integration * Accounting integration * Push notifications ⸻ Expected Outcome A professional standalone B2B ordering platform that allows customers to browse products, place orders online or offline, automatically synchronize orders once connected, send detailed order emails, and provide Admin and Warehouse staff with complete order and inventory management. The application should deliver a workflow similar to SalesPresenter B2B while being custom-built to meet the client’s specific operational requirements.
$1,000.00
Fixed-price- IntermediateExperience Level
- Remote Job
- Complex projectProject Type
Skills and Expertise
Activity on this job
- Proposals:50+
- Last viewed by client:1 hour ago
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- United KingdomLondon11:34 PM
- Retail & Consumer GoodsSmall company (2-9 people)
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by