0% found this document useful (0 votes)
111 views

EMotorad - Flutter Intern Assignment

The document describes requirements for developing a Ride History screen in a mobile app. The screen will display ride data fetched from a REST API and allow users to favorite/bookmark rides. It will include scroll loading of additional rides, ripple animation effects, and a scroll to top button. The code should use BLOC state management and clean architecture principles, and include test cases. Developers will submit by providing a screen recording, technical explanation, and code.

Uploaded by

Anant Pandey
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views

EMotorad - Flutter Intern Assignment

The document describes requirements for developing a Ride History screen in a mobile app. The screen will display ride data fetched from a REST API and allow users to favorite/bookmark rides. It will include scroll loading of additional rides, ripple animation effects, and a scroll to top button. The code should use BLOC state management and clean architecture principles, and include test cases. Developers will submit by providing a screen recording, technical explanation, and code.

Uploaded by

Anant Pandey
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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': “[email protected]” //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': “[email protected]” //Use your email address.

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

Response: N/A

You might also like