Needed System
- Backend Services and API’s (That does the 70% of the work)
- Admin Panel
- Web
- Customer App/Shopping App
- Mobile Apps
- Android
- IOS
- Web App
- Mobile Apps
- Marchant App
- Mobile Apps
- Android
- IOS
- Web App
- Mobile Apps
Modules at a glance
- Multi-vendor Ecommerce
- Inventory
- Products and Stocks Management
- Vendor Management
- Ecommerce
- Order Management & Tracking
- Campaigns and Coupons
- Handling delivery options and charges
- Review & Rating
- Issues & Complain Management
- Refunds
- Invoicing and Reporting
- Accounting
- Transaction Management
- Digital Wallet
- Payment Gateway Integration
- User Billing & Ledger for merchant and system admin
- Social & Messaging
- Customer & Vendor Chat/Messaging Service
- News Feed
- Posts, Comments & Reactions
- Notifications
- Inventory
Use Cases
System:
- Send Notification to merchants or customers for system events, like new orders, payment complete etc.
- Generation of system reports
- Email Alerts
Admin:
- Admin or operations team will create the product with images and description.
- Ex. Yamaha R15
- Admin will create variants for a specific product if needed. Like Yamaha R15 may have two variants, Indian and Indonisian.
- Ex. Yamaha Indian R15 yellow
- Admin will create attributes when creating a product.
- Attributes are keywords for what products are described for.
- Like Samsung Galaxy note 10 was added as a product. To help customer see the specification properly, we may some something like this in description
- Processor: 5ghz
- Ram: 3gb
- Body: Aluminium
- Creation and approval of shops needs to be done by admin
- Create a shop on behalf of a shop owner
- Approve a shop verifying information provided by the shop owner.
- Create Campaigns
- Admin may create a campaign for a specific period.
- To enlist products for that campaign, sellers need to update their stock information and select that campaign.
- All of the discount product prices will be calculated by the discount percentage configured with enlisted stock or specific campaign.
- Add announcements/blogpost in the admin panel. Not a newsfeed just plain blog.
- Issues/Complains Management
- Reply an open ticket
- Resolve or Close the ticket
Marchant:
- Marchant will add Stock for a product, not create products every time.
- If a product is available on system, marchant will add stock by selecting that product.
- If not available, merchants will have an option to create a product and add stock for it. Though it won’t be immediately available on the system. An admin needs to approve it.
- During enlisting a product marchant will,
- Select a campaign if available
- Mention discount (in percentage) for that stock. Price will be calculated automatically
- Track orders for their shop.
- Filter by order status
- See billing history
- pending bills from company
- already paid bills
- Marchant can see their own stock, both enlisted stock and pending stock/product
- By pending products we mean products that are added by marchant and haven’t been approved yet.
- See issues for own shop.
- See notifications from system
- Create coupons with validity.
- Change order status with note (Shipped)
Customer:
- Search products
- Location wise
- View shops based on their own location.
- Purchase product from selected shop
- User can only purchase products from one shop for a single order
- Add products to favorites.
- Order Management
- View orders, filter by status.
- Track an order.
- Create a complaint/ticket for an order
- Cancel order before confirmed.
- Notifications
- View notifications sent from system
- Payments
- View payment history
- Customer can pay with cash on delivery or a payment method
- Payment gateway integration (Need to specify clearly about the gateway and api on the forehand)
- Account Information
- View & Update
- Customers can directly chat with the shop owner.
We might miss something here, please improve this document accordingly.
Time Schedules
- The Requirement to complete the whole project is infinite. This type of project never ends.
- What time can be predicted, is to develop the minimum viable product (MVP). So that it can be launched in the market for first release.
- Let’s consider the deadline for this project is 6 months.
Team Requirement
Team size depends on time provided for the development of Minimum viable product (MVP).
Considering a deadline for 6 months for the development of a minimum viable product.
- System Architect & Project Manager
- Backend Developers
- At least two backend developers (Senior)
- Frontend Developers
- 2 mobile app developer for flutter ( 4 in case project is fully native) (One senior, One Junior)
- For Customer & Marchant App
- 2 web developer (Angular) (One senior, One Junior)
- For Admin panel
- For Customer & Marchant App
- 2 mobile app developer for flutter ( 4 in case project is fully native) (One senior, One Junior)
Pricing & Budget Estimation
- Product Development Cost
- Estimated cost for multi-vendor ecommerce: >= 10 lacs BDT depending on further requirements.
- Buy & Sell (Not yet defined)
- Rental (Not yet defined)
- Services/Online Job platform (Not yet defined)
- Recurring Costs
- Server
- Dev, Staging & Production Server
- ELK Custer ( multiple no of servers )
- Other Cluster ( few servers for technologies like RabbitMQ, Reddis etc.
- Depends on specifications needed but predicted is,
- at least &100 – $1000/month initially depending on no of users and visitors on the system.
- Maintenance & Feature improvements
- Totally depends on further requirements
- Allocated budget.
- One suggestion is, in this stage it’s a good idea to hire a technology team as the development will never end.
- Server