Giter VIP home page Giter VIP logo

public-value-tech / pub-android-weather-sample Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 1.0 1.94 MB

An modern android weather sample app with Jetpack Compose which uses the Bright Sky API to get data of the German Meteorological Service - DWD.

Home Page: https://github.com/public-value-tech/pub-android-weather-sample

License: MIT License

Kotlin 100.00%
android app brightsky compose datastore dwd-weather hilt kotlin lottie moshi retrofit weather weather-app

pub-android-weather-sample's People

Contributors

diduseetheocean avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

diduseetheocean

pub-android-weather-sample's Issues

NULL sometimes visible in the ui

Description:
For some values the api can return also null in very rare circumstances.
In some ui elements then we show this NULL value, which should be avoided.
Seen e.g. for the current temperature.

Reproduction steps:
Not rly reproducable because it depends on the returned value of the api.
Can be faked by hardcoding NULL inside the entity mapper.

Acceptance criteria:

  • Do not show compose element's if the displayed value is NULL

Implement compose widget

Description:
Implement a glance widget which shows the current temperature, weather-icon, weather-state, date, 3-4 day forecast. The widget should be responsive and show less or more content depending on the size.

Acceptance criteria:

  • Show the described weather-widget

Add a navigation drawer to the ui

Description:
Add a navigation drawer to the ui to be able to show additional options & informations

Acceptance criteria:

  • Add a button to the top right for the navigation drawer
  • Open the navigation drawer on the right side
  • Swiping should close the drawer

Add wind gust speed & wind gust direction to the ui

Description:
Add wind gust speed and wind gust direction to the ui like wind speed and wind gust.

Acceptance criteria:

  • Map the wind gust speed to the ui-model
  • Map the wind gust direction to the ui-model
  • Extend the string resources with proper formater & descriptions
  • Add tags to the compose elements for wind gust speed & wind gust direction
  • The tag should look like the one for wind speed

Implement jetpack navigation and display dependencies with oss plugin

Description:
Implement the navigation component for navigation with compose and add a option inside the navigation drawer to show the oss screen with the used dependencies.

Acceptance criteria:

  • Implement a solution to use jetpack navigation
  • Add a button inside the navigation drawer to display the oss screen
  • Add the oss licenses plugin dependency
  • Add jetpack navigation

Requirements:
[Ticket-#9]

Simple compose element to display radar data

Description:
Implement a simple compose element which shows the radar data as overlay on an image of a map of germany.
https://brightsky.dev/docs/#/operations/getRadar

Acceptance criteria:

  • Add data class for ui-models of radar data
  • Add mapper for radar entity data class to ui-model data class
  • Inflate compressed radar data base64 string
  • Add simple compose element to display radar data on an image of a map of germany
  • Bounding box should match the image of the map

Add save functionality for locations

Description:
Saving of locations should be possible to avoid that these locations have to be re-entered again and again by the user.

Acceptance criteria:

  • Saving locations found by the auto-completion via a button
  • Picking already saved locations from a list

Migrate to material design 3

Description:
Migrate from material design 2 to material design 3.

Acceptance criteria:

  • Add the material 3 dependency
  • Remove unnecessary material 2 dependencies
  • Remove all material design 2 components from compose elements
  • Check if we need to keep the pull-refresh component from material 2

Configure proguard for a release build

Description:
Configure proguard so that a release build can be done.

Acceptance criteria:

  • Configure a debug & release build
  • Configure proguard for a release build

Add ui layer for alerts

Description:
Add the ui layer for alerts.

Acceptance criteria:

  • Add ui-model classes for alerts
  • Add mapper for entity to ui-model for alerts
  • Add necessary string resources
  • Add necessary formatter functions
  • Add compose elements
  • Extend the view-model

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.