BilalRehman08 / EKAR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project Detail

This project documentation provides an overview of application, which utilises the stacked state management approach following the MVVM (Model-View-ViewModel) architecture. The project includes the implementation of models, views, and view models, while adhering to the principles of clean code architecture. Additionally, location permission handling and internet activity checks have been integrated to ensure a seamless user experience. Furthermore, an app icon has been added to enhance the application's visual appeal. The usage of the Envied library for secure API key and VIN handling and the creation of reusable widgets contribute to the overall efficiency and maintainability of the codebase.I have also written some basic widget and unit tests for project. Widget tests help catch UI-related issues and ensure the proper functioning of user interface components. Unit tests allow us to test code's behaviour in different scenarios, covering edge cases and ensuring the correctness of application's logic. These tests approach help catch issues early, improve maintainability, and provide confidence in the stability and correctness of code.

Project APK

https://drive.google.com/file/d/1cisGvw78Sn1PXHtkkl2NVppdO6WjrQCg/view?usp=drive_link

Project Video

project_video.mp4

Loading Screen

Appears when getting user's location & API request is in process

loading

Map Screen

○ Dynamically load a single vehicle into a scene that you named "viewMap" (using user's current location). ○ When the user clicks on a marker on the map, it takes them to a new scene (named “viewVehicle ”)

map

Vehicle Screen

○ Create a scene called "viewVehicle", and use the API below to dynamically generate vehicle details (There are some missing values in API, so for that I used hard coded values as they are not provided in the API). To return to the "viewMap" screen, click the back chevron. ○ Calls Images API, there are 35 images in API so for that I created List extension in which getting only first 5 images from API. ○ Ensure that the slider is functional and that the "proceed with your selection" component is fixed ○ Calls to action such as How Contracts Work? 'Toast messages' should be displayed

vehicle

OnBoard Screen

○ Using Vertical UICollection view, create a scene (named "viewOnBoard") with four items and a placeholder icon. Items should be dynamic and ensure to add a Close Icon to go back to “viewVehicle” ○ When the user clicks the cell item, a popup prompts them to capture the image ○ Add a Comment input as a mandatory field ○ Create the Submit call to action that will validate the fields, however we are not requesting you to “post/push” the data. ○ On successful submission, trigger a thank you toast/popup on "viewOnBoard" with the message "Thank you for choosing ekar."

onboard

Passed Test Cases Screenshots

Screenshot 2023-05-29 at 1 53 22 AM Screenshot 2023-05-29 at 1 53 37 AM Screenshot 2023-05-29 at 1 53 48 AM Screenshot 2023-05-29 at 1 54 10 AM

About


Languages

Language:Dart 67.6%Language:C++ 14.9%Language:CMake 12.0%Language:Ruby 1.8%Language:Swift 1.4%Language:HTML 1.2%Language:C 0.9%Language:Kotlin 0.1%Language:Objective-C 0.0%