Giter VIP home page Giter VIP logo

ekarassignment's Introduction

EkarAssignment

Ekar Assignment for Mobile Engineers

UI

App consist of 3 different fragments and 1 root activity. Activity holds a container layout in order to manage fragments which will be controlled by navigation component.

Fragments :

  • SplashScreen
  • MapScreen
  • VehicleScreen

Screenshots

App Flow

SplashScreen

App opens with splash screen fragment and navigate to the map screen after showing the ekar logo to the user for 2 seconds.

MapScreen

Map Screen is the main part of the app. In first launch, random markers are placed on the map around Dubai zone. Features is listed below:

  • Different colored markers placed in map.
  • Click marker to navigate vehicle screen.

VehicleScreen

This screen responsible for showing all details of vehicle such as price, standard seating, booking fee and the other things.

Architecture

This app adopts Clean Architecture behaviour. Here is the package structure:

Core

It is the package that contains all the common and base classes used within the application. Extensions, deciders, utils and base classes are included in this package.

Data

Data package should include response models, data source and api methods. It shouldn't know any logic.

UI

Ui like a feature. It contains Fragments, view models and feature related classes like a domains, mappers and ui models. Make sure that all classes here are specific to the this feature. If it is a class that is also used in other features, it should be moved to the common package.

Di

This package may actually be inside the common module. But I prefer to carry outside of core package to be more visible.

Ui-Component

In large projects, we need to use a view component in more than one place. So i moved common view components under ui-component package.

Tech Stack

TODOs and Improvements

  • UI test.
  • Better Design
  • Unit tests for different screnios
  • Implementation of static code analysis tool(ktlint or detekt)
  • Styling definitions for textviews and buttons etc.

ekarassignment's People

Contributors

yusufonderd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.