A Weather App Using Kotlin And openweathermap

Overview

Code95 Android Task - Weather app

Build CI

Requirements

Create a simple mobile application that:

  • Utilize a weather API (http://openweathermap.org/API for example) to search for a city and get the forecast..
  • You can add up to 5 cities to the main activity. You can also remove cities from the main activity.
  • When clicking on one of the cities from the main activity, a 5 days forecast should be displayed.
  • When clicking on one of the cities from the search box dropdown, a 5 days forecast should be displayed, while having the ability to include it in the main activity if it's not already included.
  • The main activity will have the 1st city added by default, which will be based on the GPS location. If the user doesn't give the location permissions, then the first default city will be London, UK.
  • Save the data for offline usage.
  • Extra bonus for creating a widget.

Features

  • Google Places, using google places to find city and get lat and long
  • Weather Widget, display room data of city
  • Chuck Logging, Chuck is a simple in-app HTTP inspector for Android OkHttp clients, https://github.com/jgilfelt/chuck com.readystatesoftware.chuck:library:1.1.0 check integration file \weathertask\di\modules\NetworkModule , Method name is provideOkHttpClient , Be Careful this lib must be in Debug mode only

API Key

API keys is very secure data we can not publish it

  • Google Places, you can change google places key from \gradle.properties
  • Open Weathermap, you can change Open Weathermap key from \gradle.properties
Tecgnologes uses in it.
  • Kotlin.
  • xml
  • Navigation components
  • MVVM Design Pattern
  • Hilt
  • Room DataBase
  • LiveData
  • Coroutines
  • Retrofit
  • Google Places
  • widget
Tools and IDEs uses.
Weather Widget Google places search
Screen Night 1 Screen Night 2
Screen Morning 1 Screen Morning 2

License

Copyright (c) Open Knowledge Lab Karlsruhe All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

You might also like...
FirestoreCleanArchitectureApp is an app built with Kotlin and Firestore that displays data in real-time using the MVVM Architecture Pattern. For the UI it uses Jetpack Compose,  Android's modern toolkit for building native UI.
FirestoreCleanArchitectureApp is an app built with Kotlin and Firestore that displays data in real-time using the MVVM Architecture Pattern. For the UI it uses Jetpack Compose, Android's modern toolkit for building native UI.

FirestoreCleanArchitectureApp FirestoreCleanArchitectureApp is an app built with Kotlin and Cloud Firestore that displays data in real-time using Andr

Sample app to demonstrate the integration code and working of Dyte SDK for android, using Kotlin.
Sample app to demonstrate the integration code and working of Dyte SDK for android, using Kotlin.

Dyte Kotlin Sample App An example app in kotlin using the Dyte Mobile SDK Explore the docs » View Demo · Report Bug · Request Feature Table of Content

To-Do-List - Create a To Do List-style App from scratch and drive the entire development process using Kotlin
To-Do-List - Create a To Do List-style App from scratch and drive the entire development process using Kotlin

To-Do-List! Crie um App no estilo "To Do List" do zero e conduza todo o processo

Learning Project (Story App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin

Learning Project (Story App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin. Implemented by Clean Architecture, Hilt, MVVM, LiveData, Coroutines, Retrofit2, Glide

Screencast using Minecraft blocks using Minestom
Screencast using Minecraft blocks using Minestom

BlockScreen 🖥️ Usage Note: This can only be used locally, servers generally don't have capturable screens First, download the latest jar, then to sta

Integration Testing Kotlin Multiplatform Kata for Kotlin Developers. The main goal is to practice integration testing using Ktor and Ktor Client Mock
Integration Testing Kotlin Multiplatform Kata for Kotlin Developers. The main goal is to practice integration testing using Ktor and Ktor Client Mock

This kata is a Kotlin multiplatform version of the kata KataTODOApiClientKotlin of Karumi. We are here to practice integration testing using HTTP stub

A POC for spring app using testng, cucumber, findbugs, and jacoco framework with failsafe and surefire plugins.

A POC for spring app using testng, cucumber, findbugs, and jacoco framework with failsafe and surefire plugins.

This Kotlin Multiplatform library is for accessing the TMDB API to get movie and TV show content. Using for Android, iOS, and JS projects.

Website | Forum | Documentation | TMDb 3 API Get movie and TV show content from TMDb in a fast and simple way. TMDb API This library gives access to T

Microservices-demo - Microservices demo project using Spring, Kotlin, RabbitMQ, PostgreSQL and Gradle and deployed to Azure Kubernetes
Owner
Ali Al Fayed
I'm an ANDROID Developer with experience of projects and I have great ambition to continue developing my skills and aspire to work in a collaborative enviroment
Ali Al Fayed
Console Weather App With Kotlin

ConsoleWeatherApp Описание Данный сервис позволяет получить текущее состояние погоды в выбранном городе. Использование Сервис может быть запущен со сл

Danil Medvedev 0 Jan 4, 2022
Weather application built with kotlin

Weather App - Android Technical Task ?? Video Demo for this task on youtube ?? Weather application Created android screen that has search bar on top.

Mostafa Anter 5 May 17, 2022
Koltin Multplatform Project that interacts with a GraphQL server to display golf scores, player and weather information.

GolfScoresKMM Koltin Multplatform Project that interacts with a GraphQL server to display golf scores, player and weather information. The app is setu

Mohit 15 Oct 21, 2022
This is a sample app to demonstrate the power of using EventSourced models and the ease with which these can be modelled using Kotlin.

Lego 4 Rent This is a sample app to demonstrate the power of using EventSourced models and the ease with which these can be modelled using Kotlin. To

Nico Krijnen 4 Jul 28, 2022
A sample skeleton backend app built using Spring Boot kotlin, Expedia Kotlin Graphql, Reactive Web that can be deployed to Google App Engine Flexible environmennt

spring-kotlin-gql-gae This is a sample skeleton of a backend app that was built using: Spring Boot(Kotlin) Reactive Web Sprinng Data R2DBC with MYSQL

Dario Mungoi 7 Sep 17, 2022
A complete Kotlin application built to demonstrate the use of Modern development tools with best practices implementation using multi-module architecture developed using SOLID principles

This repository serves as template and demo for building android applications for scale. It is suited for large teams where individuals can work independently on feature wise and layer wise reducing the dependency on each other.

Devrath 11 Oct 21, 2022
Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)

Mockative Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP). Installation Mockative uses KSP to generate

Mockative 121 Dec 26, 2022
Kotlin microservices with REST, and gRPC using BFF pattern. This repository contains backend services. Everything is dockerized and ready to "Go" actually "Kotlin" :-)

Microservices Kotlin gRPC Deployed in EC2, Check it out! This repo contains microservices written in Kotlin with BFF pattern for performing CRUD opera

Oguzhan 18 Apr 21, 2022