naveedahmad99 / AccentureAndroidTask

Accenture Latvia Android Task

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Weather Logger

Accenture Latvia Android Task

The Weather logger application used to can log and save your current Weather data based on your location.

Description: Create an Android application to save weather conditions for your current location.

Main functionality:

The weather information should be retrieved from Weather API website select > CurrentWeatherData API. By default service returns a lot of data, but it’s mandatory to save and display only temperature. Usage of other data is optional but creativity is welcome here.

After ‘Save’ is pressed the application should retrieve the weather data from the API, store it locally together with the date of the event (request time) and then display it on screen.

Display the data in a list or graphical chart.

Data model is completely up to you, feel free to use custom frameworks and libraries

what might help you with application development. For Weather API service usage you need to register in the portal and receive an APP KEY. Use it in network requests to fetch data.

Non-functional requirements:

● Compatibility with Android 4.1 and onwards

● Code quality, readability and consistent code style

● Best UI practices (Material design)

● Local data storage

● Unit test (JUnit/Robolectric)

Optional Requirements:

Completion of Optional requirements will grant additional bonus points

● UI layout optimized for both Phone and Tablets screens

● Implement ‘More details’ screen (with ability to view more detailed information about weather data returned from API)

● Fetching and processing weather data for more locations

● Refresh the weather data periodically

● Ability to access application weather data from 3rd party apps via shared content provider or other solutions

● Custom animations, transitions between screens

● Create Widget for Home Screen

● All CRUD operations

● UI tests using Espresso

● Use Kotlin instead of Java for MainActivity


Architecture & Libraries & Dependencies used to do that task:

MVP architecture

Support libraries: appcompat / recyclerview / constraintlayout

Square Retrofit / Okhttp / Logging-Interceptor

A fast dependency injector for Android Dagger2

RxAndroid Reactive Extensions for Android

Room DataBase used to do local storage in the appliction

Lottie-Android: Render After Effects animations natively on Android

ButterKnife: Bind Android views and callbacks to fields and methods.

Unit test using .

Ui Testing using Espresso

Android Home Widget

google play services location to get current location


The Following screen shoots for app

Home Screen Details Screen test and clear Test screen

About

Accenture Latvia Android Task


Languages

Language:Java 100.0%