Skip to content

Latest commit

 

History

History
84 lines (57 loc) · 2.92 KB

README.md

File metadata and controls

84 lines (57 loc) · 2.92 KB

Weather App

An application that consumes the Open Weather API to display weather information for a users location

Building Your Application

In your local.properties add the line below

API_KEY = Your Open Weather api key

The api key can be found here

Environment

  • Built on A.S Hedgehog
  • JDK 17

Design/Architectural decisions 📐

The project makes use of common android patterns in modern android codebases.

Project Structure Inside the Core directory, the Project has 5 main different modules with the following names and libraries used

  1. Presentation Contains All the UI logic; Screens, ViewModel, Theme etc.

  2. Domain Contains Repository Interface and Domain Models

  3. Data Contains Repository Implementation and Data Models as well as mappers from DataSources to Data and Data to Domain

  4. LocalDataSource Contains logic to fetch current user location and cache as well as entities for the database

  5. RemoteDataSource Contains logic to make network calls

Technologies 🔨

The Application is fully written in : Kotlin

  • For testing I used the following libraries
  • Tools and General setup
  • Workflows

Architecture

Add MVVM diagram

  • For the Presentation Layer I used MVVM. I have the MainScreen, MainViewModel and MainScreenState

Add Clean architecture diagram

  • Generally I used clean architecture to Separate the different layers of the application as outlined above