Coder Social home page Coder Social logo

flux's Introduction

Flux

Workflow result

๐Ÿ“œ Description

Flux is a dynamic weather that communicates the weather throughout a landscape whose details vary according to the time and the weather at that particular time. This dynamic landscape follows a day / night cycle with multiple layers that vary regarding the phase of the day (night, sunrise, day and sunset). The sun and the moon are drawn using a quadratic function computed according to the available space for simplicity purposes. In addition to the day / night cycle, a particle generation system has been created to draw generic types of particles :

  • Lines
  • Points
  • Images

As it is fully customizable, the particle generator was used to draw snow, rain (light, heavy and thunderstorm) as well as clouds on the landscape view using Jetpack Compose Canvas. This canvas also draws lighting with a random path when the displayed weather is a thunderstorm.

Flux also displays basic weather info via four sections:

  • Details: current weather
  • Hourly weather : A chart showing the temperature, wind or cloud cover according to the time. You can click on the temperature / wind / cloud cover filter and the curve will animates to the target state. The curve is drawn on a Canvas and interpolated using Bezier method and connections points. You can also click on the time at the bottom of the chart to update the time shown in the dynamic landscape.
  • Weather radar
  • This week : 7-day forecast

Flux has a light and dark theme that follows your device preference. A lot of animations have been used in this project (landscape, curve, expand / collapse, fade, etc.)

This project follows an architecture by layer (data, domain, presentation).

๐Ÿ’ก Motivation and Context

It's very impressive how fast an app can be developed using Jetpack Compose and its underlying tools (easy theming, state management, navigation, animation). The Android Dev Challenge was a great way to discover the power of Jetpack Compose.

๐Ÿ“ธ Screenshots

Dark Theme

โ€ƒโ€ƒโ€ƒ

Light Theme

โ€ƒโ€ƒโ€ƒ

License

Copyright 2020 The Android Open Source Project

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.

flux's People

Contributors

fidloo avatar ageback avatar

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.