> For the complete documentation index, see [llms.txt](https://enappd.gitbook.io/ionic-taxi-booking-app-starter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://enappd.gitbook.io/ionic-taxi-booking-app-starter/how-to-use-this-starter/testing-complete-platform.md).

# Testing Complete Platform

{% embed url="<https://www.youtube.com/watch?v=bUVuqzMe3mw&t=62s>" %}
Ride Booking Flow - Ionic 5 Taxi Complete Platform using Firebase
{% endembed %}

Before proceeding further, please make sure that you have completed all the steps from&#x20;

\
1\. [Taxi User App - Setup](/ionic-taxi-booking-app-starter/how-to-use-this-starter/setting-up-and-running-taxi-user-app.md)

2\. [Taxi Driver App - Setup](/ionic-taxi-booking-app-starter/how-to-use-this-starter/setting-up-and-running-taxi-driver-app.md)

3\. [Taxi Admin App - Setup](/ionic-taxi-booking-app-starter/how-to-use-this-starter/untitled.md)

### Check Driver App

1. Go to Driver app. (You must have approved this driver from **Admin App**)
2. Refresh the app to see the driver profile appears now, as shown below.&#x20;

{% hint style="danger" %}
It shows the following error "Firebase Error - the query requires index and you can create it here".&#x20;
{% endhint %}

Click on the Link given in Above error to **Create Index.** Firebase Index is a way to search using complex queries. So without these enabled you will be facing issues in the app.

![](/files/-M5CjNJKFgy3NXRXJiKT)

Click on Above link will open a your **firebase project console** in your browser with the title “**Create a composite index**”, as shown below. Click on “**Create index**”.&#x20;

![](/files/-M5Cjp85fqLN71m7tAxQ)

It should show the status as "**Building**" for the composite index as shown below. This may take a long time to build index. So wait for it to be completed. It may take 2-3 minutes.

![](/files/-M5ClhpdCYMEU8XHega_)

After the status changes to "**Enabled**" (Sometime it doesn't change the status - but a simple alert comes on completion of index) . Open you **Driver App** running in the browser and refresh it to see that error is fixed.\
\
You will need to build one more index in this app as coming up next.&#x20;

###

### Testing the Booking Flow&#x20;

Go to **User App** and book a ride again. It has a default 60 seconds timeout period so you can quickly jump to Driver app after this.

![](/files/-M5CmY97qr8PUVtCig7a)

Open **Driver App** switch the **offline to online mode** . Here also you will need to build an index which is required to search for rides. So repeat same steps to build the index. Screens are given below.

![](/files/-M5CoHiLVwHghk-wMBEs)

Click on **Create index**

![](/files/-M5CoTo5j5bWbvvz_UC2)

Wait for status to change to **Enabled** or appearance of **Completion** **Alert**

![](/files/-M5Coam_ySx7Y2uJic8P)

Go back to **User App** and book a ride.

![](/files/-M5CmY97qr8PUVtCig7a)

Jump to **Driver App** . You should see a *Ride Alert*

![](/files/-M5Cq6rnUVahUtb5zs-d)

**Driver App -** Once you **Accept** the ride, the app will show you **Go to Pick up** status, after which driver should go to the pick up location of the user.

![](/files/-M5CqCjWtIKrq2UV-L3l)

**User App** will show that driver has been assigned

![](/files/-M5CqKqNMJbFGCvXEsK4)

**Driver App - Go to Pickup** will not do anything significant in this testing case here. You can click on **Start Ride.**

![](/files/-M5CqRerZBGIuYHm1UVC)

After starting the Ride. **Driver** screen should look like this.

![](/files/-M5CqaolsnwAi2fvEjQd)

After starting the Ride. **User** screen should look like this.

![](/files/-M5CqiACeuoOsdNruTlm)

**Driver App -** Driver completes the ride and user gets the notification

![](/files/-M5CqoOjPlZ4XQiuxvOO)

###

### Admin App - Ride History&#x20;

Admin App can be now used to check - Ride history. It generally shows all rides completed or cancelled. This can be customised by the developer.

![](/files/-M5Cqvoj8VZCdvlA51hd)

You can click on a **Ride** **Card** and check its details.\ <br>

**This completes our sample Booking flow !!**\
\
There are few more flows which you can explore the app in more detail via our Demo APK or Feature videos.
