Here, we talk about the Customer's side of the app:
The customer Homepage contains a fragment that displays the corresponding layout of the item clicked in the sidebar. As soon as the customer is logged in OutletList Fragment is called which displays the list of outlets present, where clicking on a particular outlet, will take them to the particular menu of the outlet. We've used Firebase UI in all fragments. Firebase UI is a class provided by Firebase SDK to make a query in the database to fetch appropriate data.
Based on the customer's requirements and usability, we have developed an exclusive set of fragments.
OutletList: This fragment will be called after the user is logged in. It will consist of a list of eateries that are open at any given time. It contains a recycler view, which populates itself using outletList_adapter by querying the List of Vendors in the Database using Firebase UI.
OutletMenu: On selecting one of the outlets, this fragment is called which displays the menu of the respective outlet. OutletMenu contains a recycler view, which populates itself using OutletMenu_Customer_adapter by querying the Menu of the particular Outlet using Firebase UI. The customer can choose the food item which they want and can add it to the cart.
CartFragment: This fragment displays the final list of items and the Total Amount in the Cart before checkout. It also contains a quantity modifier where the user can increase, decrease or delete items from the cart, where upon the total is readjusted based on the final items in the cart. CartFragment contains a recycler view, which populates itself using CartAdapter by querying the Cart details of the particular User using Firebase UI. The customer can also check the total bill before paying.
Payment Window(Additional Feature): The payment integration was done using the Easy UPI Payment Library. Upon clicking the PlaceOrder Button, the user is redirected to the PaymentActivity, whereby after entering required UPI information, the transaction takes place successfully. After the transaction takes places successfully, it is added to the Transaction History of the Customer and the Vendor. The Transaction ID is generated using the System.currentTimeMillis().
TransactionHistory_Customer: This fragment displays information regarding the previous transactions made by the user. It displays the Total Amount, TransactionID, and the Outlet from which they had purchased. This fragment contains a recycler view, which populates itself using TransactionHistory_Customer_Adapter by querying the Transaction History details of the particular User using Firebase UI.
Customer Profile: This fragment displays the details of the customer stored by us in the Database, which includes Name, Email, and Phone Number.
Comments
Post a Comment