You are on page 1of 3

My Ride Screen

App Name: Ride Tracker

To develop a Ride History screen in the mobile application with the following features:
1. Rides need to be loaded from rest API-1 with the given URL and structure below in the
document.
2. A maximum of 8 Rides data can be fetched from a single hit API, so we need to add
Scroll to Load functionality into the screen i.e., Whenever the user tries to scroll in the
bottom, we need to fetch the data for the same.
3. Each Ride card will consist of a favourite icon, selecting/deselecting it will hit rest API-
2, and update the UI.
4. Bookmarking/ Unbookmarking should work with a small ripple effect or animation.
5. Add the Authorization token in headers, use your email ID.
6. Clicking on the Favourite icon should reflect with ripple effect animation and then only
it should get selected/deselected.
7. On scrolling down, the Floating action button Scroll to Top should appear. Clicking
over the same should take the user back to the top of the screen.

Tech aspects
- The code should use either BLOC or GetX state management. Preferred to have Bloc.
- Good to have code written in Clean Architecture approach.
- It is good to have at least test cases written for the screen.
- The code structure should be formatted/cleaned.
- It is good to have code-commenting.
- The app must be compatible with the Android platform. It would be even better if it
could also run on iOS devices.

Submit Procedure
1. Add a screen recording of your working application, showcasing each feature
mentioned above. If possible, please attach recordings from both Android and iOS
devices.
2. Add a short description of your coding technique and explain what you have used to
achieve.
3. Add the app to download your app and test.
4. Share the zipped code via mail.
DESIGN
Figma
https://www.figma.com/file/vFLkJaFRYwzVZ80rcNZcnx/EM-app-Public?type=design&node-
id=0%3A1&mode=design&t=ePlIroPwhh25BPwd-1
API 1
Endpoint: http://flutter.dev.emotorad.com/get_routes

Headers:
(type: Bearer token)
'Authorization': “abc@example.com” //Use your email address.

Request: N/A
Response:
[
{
"id": 1,
"start_loc": "Coimbatore",
"end_loc": "Chennai",
"image": "https://app-asset-bucket.s3.ap-south-1.amazonaws.com/flutter-interview/1.jpeg",
"bookmarked": false
},
{
"id": 2,
"start_loc": "Bangalore",
"end_loc": "Mysore",
"image": "https://app-asset-bucket.s3.ap-south-1.amazonaws.com/flutter-interview/2.jpeg",
"bookmarked": true
},
{
"id": 20,
"start_loc": "9",
"end_loc": "10",
"image": "https://app-asset-bucket.s3.ap-south-1.amazonaws.com/flutter-interview/2.jpeg",
"bookmarked": false
}
]

API 2
Endpoint: http://flutter.dev.emotorad.com/bookmark_route

Headers:
(type: Bearer token)
'Authorization': “abc@example.com” //Use your email address.

Request:
{
"route_id": 1,
"bookmark": false
}

Response: N/A

You might also like