Skip to main content

General Features

This page talks about the standard features of both Vendor and Customer:

When the application is launched, Main Activity sends an intent to the Splash Activity, which displays the App Logo for 2000 milliseconds, from where the control comes back to the Main Activity. The app splash screen is the brief introductory screen that appears as the app loads after the user has just opened the app.






  1. Registration: 
    New users can register by entering their information. Their account gets created upon submitting the registration form. The new user fills out their e-mail ID, mobile number, and Password. They will select the type of user in a spinner. If the type of user is a vendor, they have to add a URL of the picture of their food outlet. Then on clicking register, a new account is created.




  2. Login:
    Users can log in using their Username. The user is directed to the Login Activity for authentication. The User first selects what type of user (i.e., Customer or Vendor) in the Spinner on the Login page. The Username for the customer would be their PhoneNumber, and for the Vendor, it would be their OutletName. Once the user clicks on the Login button, we verify if such an account with the given Username exists in the Database or not. If it doesn't exist, we display a Toast message saying, "No Account found". If the username is valid, then we verify the Password entered by the User by comparing it with the corresponding Password to the Username stored in the Database. If it is valid, then the User is redirected to their respective pages. 

  3. Login via OTP(Additional Feature): Users can also alternatively login via their Phone Number. We've used PhoneAuthProvider and PhoneAuthOptions for this purpose. They are classes defined by Firebase for the purpose of Phone Number verification.
    After the user enters their Phone Number, we verify if such a number exists in the Database or not. If the number exists, we send an OTP using the PhoneAuthOptions class. For the verification of the OTP, we use PhoneAuthProvider class to verify if the OTP entered by the user matches that of the one sent. On successful authentication, the user is redirected to the respective pages.



Comments

Popular posts from this blog

What is Diner2Door?

There are a good number of food outlets in BITS Pilani Hyderabad Campus and they are very popular among students. This in turn results in high waiting time for customers. Also, this leads to decreased revenue for outlets since people choose not to utilize the outlets due to the long waiting time. Our Solution? Diner2Door is an app created to solve this problem. The users can order from their favorite outlets using our app from the convenience of their own rooms. We made two separate pages for both the vendor and the customer where the vendor can change the menu based on availability and the customer can choose their favorite outlet and order food from their rooms.

App Features(Customer)

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 di