Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wiyonoaten/ADC-JC-Wk4WeatherForecastApp

Repo for the single-screen weather forecast app submitted to the Week 4 challenge of the Android Dev Challenge (Jetpack Compose). Note: 'main' branch is as was submitted for the challenge. 'post-submission' branch is with changes to have a fully working app (ie. no stub data).
https://github.com/wiyonoaten/ADC-JC-Wk4WeatherForecastApp

androiddevchallenge

Last synced: 2 months ago
JSON representation

Repo for the single-screen weather forecast app submitted to the Week 4 challenge of the Android Dev Challenge (Jetpack Compose). Note: 'main' branch is as was submitted for the challenge. 'post-submission' branch is with changes to have a fully working app (ie. no stub data).

Awesome Lists containing this project

README

        

# JC-WeatherForecastApp

![Workflow result](https://github.com/wiyonoaten/ADC-JC-Wk4WeatherForecastApp/workflows/Check/badge.svg)

## :scroll: Description

This is the single-screen weather forecast app I have done for submission to the Week 4 challenge of the Android Dev Challenge (Jetpack Compose).

## :bulb: Motivation and Context

#### Highlights include:
* Simple and visually pleasing immersive design (I hope so!)
* Using many features/practices of Jetpack Compose such as Theming, CompositionLocal, Preview, MutableState, Modifier, Slots
* Architecture based on ViewModel, Repository, Coroutines
* Use of animations and gestures
* Fully functioning Previews
* Proper accessibility support
* Instrumentation testing is covered

#### Some novelties:
* Custom integration of DropdownMenu
* Animated gradient background
* Swipable screen to switch between views
* Custom modifier to check measurement
* Custom implementation of scrollable header
* Custom rendering using Canvas and graphics

Last but not least, the code has in fact been prepared ready to plug in easily with real data, such as those powered by OpenWeather API. However, I didn't manage to do this by submission, so the app is currently using stub data done at repository level.

## :camera_flash: Screenshots

## License
```
Copyright 2021 Wiyono Aten

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```