Giter Club home page Giter Club logo

boring_counter's Introduction

framework coverage style: very good analysis License: MIT


Boring Counter

Boring counter for you to count things!
Generated by the Very Good CLI 🤖

View Demo · Report Bug · Request Feature


Table of Contents
  1. About The Project
  2. Technologies
  3. Getting Started
  4. Roadmap
  5. License
  6. Contact
  7. Acknowledgments

About The Project



There is many counters. However I didn't find one that really suited my needs so I created this one. Although it's called Boring in reality it's enhanced one. Main goal was to create Counter App that provides list of counters where each one could be increment independently; from list view. I find that useful while doing my Diablo Uber Uniques grind since I'm big fan of statistics and like to keep track of things.

Along the way few other features were introduced to make whole App more usable.

Please refer to Roadmap for more details.

(back to top)


Technologies

Flutter Dart Very Good CLI Firebase Auto Route BLoC Dio Freezed Injectable Mockito Retrofit RxDart Shared Preferences Integration tests Mocktail


Getting Started

Installation

  1. Install Flutter & Flutter FVM for best experience
  2. Clone the repo
    git clone https://github.com/LosDanieloss/boring_counter.git
  3. Navigate to main project directory
  4. Get dependencies
    $ flutter pub get
  5. Run the App. For more information about that please see Flavors.
    $ flutter run --flavor development --target lib/main_development.dart

Flavors

This project contains 3 flavors:

  • development
  • staging
  • production

To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:

# Development
$ flutter run --flavor development --target lib/main_development.dart

# Staging
$ flutter run --flavor staging --target lib/main_staging.dart

# Production
$ flutter run --flavor production --target lib/main_production.dart

*Boring Counter works on iOS, Android and Web.

Running Tests

To run all unit and widget tests use the following command:

$ flutter test --coverage --test-randomize-ordering-seed random

To view the generated coverage report you can use lcov.

# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/

# Open Coverage Report
$ open coverage/index.html

To generate new coverage badge you can use flutter_coverage_badge

$ flutter pub run flutter_coverage_badge

Working with Translations

This project relies on flutter_localizations and follows the official internationalization guide for Flutter.

(back to top)


Roadmap

  • Browse counters list
  • Check counter details
  • Manipulate counter
    • Using buttons
    • Using multiple points screen tapping
    • Using swiping gesture on Details screen
  • Store counters data between App launches
  • Add Readme
  • Add License file
  • Add Changelog
  • Toggle mode for counters list to either manipulate counters or scroll the list
  • Edit counter
    • Name
    • Reset back to 0
    • Restrict to only positive numbers

See the open issues for a full list of proposed features (and known issues).

(back to top)


License

Distributed under the Apache 2.0 License. See LICENSE.txt for more information.

(back to top)


Contact

Daniel Łojewski - [email protected]

Project Link: https://github.com/LosDanieloss/boring_counter

(back to top)


Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

(back to top)

boring_counter's People

Contributors

losdanieloss avatar daniellojewski avatar dependabot[bot] avatar github-actions[bot] avatar

Watchers

 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.