One Platform for 258,611 Food Customers
Wafi Solutions rebuilt Khaas Food's entire tech stack on .NET and PostgreSQL, unifying B2B and B2C sales across 26+ outlets into one platform serving 258,611 customers.
What was breaking before this build
Business challenges
- No Central System for Multi-Channel OrdersOrders arrived across 5 channels — outlets, eCommerce, social media, mobile app, and warehouse pickups — with no shared system tracking any of them.
- 4 B2B Partner Types Managed Without a SystemFranchisees, distributors, corporate buyers, and export partners were coordinated manually with no portal, pricing structure, or onboarding process.
- Inventory Tracked Across Disconnected RecordsStock data across 26+ outlets and warehouses lived in separate records, so confirming a single stock level took hours of manual cross-checking.
- Legacy System Blocking GrowthThe MS SQL Server and old .NET stack could not support multi-tenancy or cloud scaling, so every new feature required disproportionate time and budget.
- No Reliable Pricing Consistency5 pricing tiers were calculated separately on frontend and backend, so customers saw different prices at browse versus checkout.
Technical challenges
- Live Production Database MigrationMigrated 171 database models from MS SQL Server to PostgreSQL, rewriting every query and schema without losing a record.
- Full Framework Rebuild on ABP 8.1Rebuilt the backend on .NET 8 and ABP Framework 8.1, delivering 119+ API endpoints on a modern async architecture.
- Custom Solr Schema for Five-Tier PricingApache Solr needed a custom schema to index and serve five simultaneous price tiers — regular, sale, dealer, franchise, and partnership.
- Two Payment Gateways in One CheckoutSSLCommerz (Bangladesh) and Stripe (international) run as separate transaction flows, both resolving inside one unified checkout.
- Five User Types on One CodebaseConsumer, franchisee, distributor, corporate buyer, and export partner each carry different access, pricing, and order flows in a single codebase.
How we solved it
Full-Stack Platform Rebuild
Migrated the live production database, delivered 119+ API endpoints and 171 database models, on a platform serving 258,611 customers without performance issues.
Unified B2B and B2C Sales Portal
Built separate portals for 5 buyer types, each with its own pricing tier and access control, on one codebase across 3 sales channels.
Customer-Facing Web and Mobile App
Delivered a 52-page web platform and a 58-screen mobile app (Android and iOS) for ordering, tracking, and payment without staff involvement.
44-Module Admin Dashboard
Built a single admin panel with 44 modules covering inventory, purchase orders, manufacturing orders, warehouse transfers, and B2B operations.
Dual Payment Gateway Integration
Integrated SSLCommerz and Stripe as two separate transaction flows resolving inside one checkout with automatic reconciliation.
What the team uses every day
Unified Sales Channels
B2C eCommerce, B2B partner portal, and physical outlet operations run through a single platform.
Five Buyer-Type Portals
Consumers, franchisees, distributors, corporate buyers, and export partners each get their own pricing tier and access control.
Real-Time Stock Visibility
Warehouse staff and management track inventory, transfers, and requisitions in real time through the admin dashboard.
Dual Payment Gateway Checkout
SSLCommerz and Stripe transactions resolve inside one unified checkout with automatic reconciliation.
Web and Mobile Ordering
A 52-page web platform and 58-screen mobile app let customers place, track, and confirm orders directly.
The guarantees this was built on
- Zero Data Loss Migration171 database models migrated from MS SQL Server to PostgreSQL without losing a single record.
- Async API ArchitectureBackend rebuilt on .NET 8 and ABP Framework 8.1, delivering 119+ API endpoints on a modern async architecture.
- Custom Solr Indexing for Multi-Tier PricingApache Solr uses a custom schema to index and serve five simultaneous price tiers.
Integrations & channels
The outcome
Migrated 171 DB models with zero data loss
119+ API endpoints on async architecture
Unified 3 channels for 258,611 customers