StoreEdge
Transforming the Retail Experience with Smart Solutions for Unrivaled Business Performance."
Created on 23rd February 2025
•
StoreEdge
Transforming the Retail Experience with Smart Solutions for Unrivaled Business Performance."
The problem StoreEdge solves
StoreEdge addresses several critical challenges faced by retail businesses:
Integrated Inventory & Billing Management:
Instead of juggling multiple systems, StoreEdge consolidates inventory tracking and bill generation into one streamlined platform. This reduces manual data entry, minimizes errors, and speeds up daily operations.
Seamless Bill Generation & Updates:
The app allows users to generate accurate, seamless bills and update them as needed. This ensures that billing is efficient and adaptable to any changes, enhancing overall operational efficiency.
Automated Payment Reminders:
If a customer’s bill is only partly paid, StoreEdge automatically sends SMS reminders. This feature helps ensure timely payments, improves cash flow, and minimizes revenue leakage by prompting customers to complete their transactions.
Overall, StoreEdge simplifies retail management by automating processes that were once manual and error-prone, ensuring that both inventory and billing are handled efficiently while also facilitating prompt payment collection through automated reminders.
Challenges we ran into
Below is a Markdown-formatted explanation of some challenges we encountered while building StoreEdge and how we overcame them:
Challenge 1: Handling File Uploads – "Multipart: Boundary not found" Error
One significant hurdle was with the image upload functionality. When sending images to the backend using Axios and Multer, we encountered the following error:
Error: Multipart: Boundary not found
What Happened
- Cause:
We manually set theContent-Type
header to"multipart/form-data"
in our Axios request. This prevented Axios from appending the necessary boundary parameter, which is required for the server (via Multer/Busboy) to correctly parse the multipart data.
How We Solved It
- Investigation:
We inspected the request headers and realized that manually setting the header was interfering with Axios’s automatic configuration. - Solution:
We removed the explicitContent-Type
header. When you pass aFormData
object to Axios, it automatically sets the correct header (including the boundary).
// Before: Manually setting Content-Type causes errors const response = await axios.post( `${import.meta.VITE_BACKEND_BASE_URL}/api/products/create`, formData, { headers: { "Content-Type": "multipart/form-data" } } ); // After: Allow Axios to set the header automatically const response = await axios.post( `${import.meta.VITE_BACKEND_BASE_URL}/api/products/create`, formData ); --- ### Challenge 2: Integrating SMS Gateway for Partial Payment Reminders Another challenge was ensuring that SMS reminders were sent reliably when a customer created a partly paid bill. #### What Happened - **Issue:** We noticed delays and inconsistent delivery of SMS messages, which sometimes resulted in customers not receiving timely payment reminders. in app we faced challenge on managing the state of the billing screen containing no of widgets and models.
Tracks Applied (2)
Best Beginners' Team
MongoDB
Major League Hacking
Technologies used
