Git Product home page Git Product logo

biplab-dutta / now-in-dart-flutter Goto Github PK

View Code? Open in Web Editor NEW
19.0 2.0 4.0 449 KB

A simple app that uses WebView under the hood to display all the news and updates regarding Dart and Flutter. The information is retrieved using GitHub's API and the github repository used as source is that of Flutter and Dart's.

License: MIT License

Kotlin 0.10% Swift 1.14% Objective-C 0.03% Dart 63.48% CMake 14.23% C++ 16.51% C 1.08% HTML 1.39% Ruby 2.03%
dart flutter dart-changelogs flutter-release-notes flutter-whats-new flutter-news bloc fpdart isar

now-in-dart-flutter's Introduction

now_in_dart_flutter

This app serves the purpose of staying up-to-date with the latest changes across Dart and Flutter ecosystem. The way this app works is by fetching markdowns from Dart and Flutter's official Github repo via REST API and rendering the information in a WebView widget.

Features

  • Display Dart CHANGELOG
  • Display Flutter What's New
  • Display Flutter Release Notes
  • Offline Support

Application Demo

Architecture

The app follows a simple but effective architecture. It relies on a feature-driven architecture with some sub-features.

Inside lib/features/ directory, you can find two sub-features: detail and home.

The home sub-feature is responsible for showing a scaffold with a bottom navigation bar. It also contains logic for maintaining bottom navigation bar's state.

The detail feature is divided into two sub-features: dart_detail and flutter_detail. Each of these sub-features has similar structure and is divided into three layers.

  • Application Layer: Contains state management logic and acts as a mediator between the presentation and the data layer.
  • Data Layer: Responsible for making all the necessary API calls and local cache operations.
  • Presentation Layer: Associated with the UI

To check the fpdart implementation, consider taking a look at the data layer of each of the sub-features.

State Management

The project uses flutter_bloc for managing the app's state.

Storage

The app stores fetched data locally on user's device for offline support. The project uses the latest isar plugin for local storage.

Test

The unit test has been written based on the fpdart refactoring and can be found in the test directory.

Dependencies

The project makes use of few third-party packages for rapid development. Some of them are listed below:

Types used from fpdart

  • TaskEither: Used instead of Future to make async request that may fail
  • IOEither: Used to represent a synchronous computation that may fail
  • Do Notation: Used to write functional code that looks like normal imperative code and to avoid methods chaining

now-in-dart-flutter's People

Contributors

biplab-dutta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

now-in-dart-flutter's Issues

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.