All the features in the app are connected. The POS system works like an ordering screen — when a user clicks on a product or service, a pop-up will appear asking for the quantity and resources. Once confirmed, that amount will be deducted from the inventory automatically.
Inventory: For products, this is straightforward since they are quantifiable (e.g., if you sell 2 cupcakes, 2 units are deducted from the product list). For resources, my plan is to only track quantifiable items, such as packaging materials (e.g., boxes, cups, or bags). So if a product uses 1 box, the system can also deduct 1 box from the resource list. For services, since they are usually not “deducted” like physical items, they would mainly be recorded for sales tracking purposes.
Additionally, the POS system will also communicate with the proceeds report so that every sale is automatically logged and reflected in the financial records.
Since this is just a prototype for our Business Expo, the main goal is to demonstrate that the POS, inventory, resources, and proceeds report can all be updated together in one system.
Since this is only a prototype intended for the Business Expo, our POS system will be purely software-based and does not require external hardware like printers, cash boxes, or barcode scanners.The app itself will serve as the POS interface
We are not allowed to do business-to-business (B2B) sales between groups during the Business Expo. Each group will focus on selling directly to customers
From your description, your app will need to be immune to disruptions in Internet access common to big events like your business expo, where everyone fills the available bandwidth.
I recommend TinyDB for local data storage in a mixed Android/iOS environment.
Your data base is also shaped by the reports you will generate to answer common business queries like:
Which products generated the most profit?
Where did all our inventory go?
How did our sales vary by time of day?
Which products sold quickly?
How much tax did I collect for the government?
Which salesman made the most or least sales?
Which salesman made the most or least profit?
When is all this due, and will you have time to alpha and beta test?
Hello, apologies for the late reply — it was our exam week.
I agree that using TinyDB would be helpful, especially since the internet connection during the expo might be unstable. My only concern is that our login system currently uses CloudDB, so I’m not sure if using both would interfere with each other. With the inventory I shared earlier, would it be possible to substitute the CloudDB I used with TinyDB instead?
The app is due in about a month, so for now I’m focusing on finishing the main features (POS, inventory, and proceeds report). If I have extra time, I’ll try to add one or two of the more detailed queries you mentioned. Since I’m still a student and new to MIT App Inventor, I’ll do my best to test the app thoroughly, but it might not go through a full alpha/beta process