It's an open source project for the steps tracking (Pedometer) built with Flutter.

Overview

Flutter Steps Tracker

It's an open source project for the steps tracking (Pedometer) built with Flutter and integrated with Firebase as the initial backend service.

Some of the features should have been in the server-side using cloud functions, but there were some problems with that and it will be available soon with some configuration instructions to work on one server.

So you may find some workarounds that will be more accurate and better after adding the server-side functions.

Quick Start πŸš€

Feature Set ✨

  • Free & Open Source
  • Cross Platform App (Android - IOS)
  • Usable and user-friendly interface
  • Proper architecture for the code, Clean Architecture
  • Authentication Anonymously with Firebase
  • Recording the users data in Firestore Database
  • Tracking the user footsteps and update them in real-time manner while the app is in the foreground
  • For every 100 steps, a function adds 5 points to the health points of the user
  • Showing a visual feedback to the user (now it's simple, Snackbar) to notice the users that they gain extra points
  • Catalog of rewards, so you can pick a reward you like
  • Rewards are paid with the health points, just scan the QR code (now it's dummy) and confirm if you have enough number of points
  • History that lists all the exchanges to health points and the rewards taken
  • Leaderboard page where you can see your ranking between all the users
  • Multilingual, supports both Arabic and English
  • Multi themes, supports the light and dark theme

Future Steps ✨

  • Refactor some of the colors, methods, cubits, repos and some files in the architecture
  • Daily steps (The Pedometer plugin basically calculates the total steps not daily)
  • Customized Goals
  • Build a good UI for the empty states (one empty state)
  • Integrate with the cloud functions and make the app more accurate
  • Update the visual feedback after the user gains extra points
  • Make the app works on the background
  • Enable push notifications
  • Sends notifications as the visual feedback for gaining more points (Background)
  • CI/CD for reviewing the pull requests
  • Publish the app to Google Play Store

Screenshots πŸ“·

Home Exchanges Rewards Leaderboard

Documentation πŸ“

You might also like...

Chance Dart is a free Open Source project that lets you create random strings, integers, and other things to help with tiresome tasks, especially when building automated tests or wherever else you require anything random.

 Chance Dart is a free Open Source project that lets you create random strings, integers, and other things to help with tiresome tasks, especially when building automated tests or wherever else you require anything random.

Chance Dart Random generator helper for Dart Homepage β€’ Documentation Overview Chance Dart is a free Open Source project that lets you create random s

Dec 27, 2022

An Open Source Todo App Built with Flutter

An Open Source Todo App Built with Flutter

taskit Not Just Another Todo App. P.S: An App build to test the features of Flutter and will continue to update as the world of flutter expands along

Oct 9, 2022

Prism is a beautiful open-source wallpapers app for Android. It is built with Dart on top of Google's Flutter Framework.

Prism is a beautiful open-source wallpapers app for Android. It is built with Dart on top of Google's Flutter Framework.

Prism Prism is a beautiful open-source wallpapers app for Android. It is built with Dart on top of Google's Flutter Framework. Prism brings you exclus

Dec 31, 2022

An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter

An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter

GitTouch An open-source app for GitHub, GitLab, Bitbucket, Gitea and Gitee(码云), built with Flutter Installation Click badges above to install it from

Dec 28, 2022

Free & Open-Source To-Do App. Built Using Flutter

TaskFlow ⭐️ Free & Open Source To-Do App ⭐️ Features The whole app is FREE, you can add unlimited number of tasks and there are NO ADS. The app is FAS

Sep 11, 2022

An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter

An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter

GitTouch An open-source app for GitHub, GitLab, Bitbucket, Gitea and Gitee(码云), built with Flutter Installation Click badges above to install it from

Jan 4, 2023

Open-source And Fully Functional Digital Signature App Built With Flutter

Open-source And Fully Functional Digital Signature App Built With Flutter

Open-source and fully functional digital signature app "E-Gol" 😽 Don't forget to star ⭐ the repo if you like what I have created πŸ˜‰ . πŸ“Έ ScreenShots

Oct 19, 2022

A fund tracking application built with Flutter.

A fund tracking application built with Flutter.

Fund Tracker A flutter application for budgets and keeping track of transactions. I built this because I couldn't find any application that allowed a

Sep 29, 2022

This is a project made with Flutter to explore its possibilities and limitations.

persona_builder An application to help you build the perfect persona. Running the application (for web) 1. Prepare environment Make sure you have all

Dec 24, 2021
Comments
  • Daily steps

    Daily steps

    Hi @TarekAlabd,

    To get the daily steps, I think it is better to get the new steps only, and accumulate them on the steps today, this method allows not to depend on the phone date and leave the date assignment for the back end service. Or use any local storage service to accumulate depending on the device date.

    Code snippet from my repo:

    class PedometerService {
      PedometerService();
    
      // pedometer package returns the steps taken since last system boot.
      // so we use this var for get only new steps
      int _lastCount = 0;
    
      // call it before start listening to newSteps
      Future<void> init() async {
        _lastCount =
            await Pedometer.stepCountStream.first.then((value) => value.steps);
      }
    
      Stream<int> get newSteps {
        return Pedometer.stepCountStream.map(
          (event) {
            final newSteps = event.steps - _lastCount;
            _lastCount = event.steps;
            return newSteps;
          },
        ).where(
          (e) => e != 0,
        );
      }
    }
    

    I hope this helps you.

    opened by mr7ssam 0
Owner
Tarek Alabd
Software Engineer Team Leader | Google Developer Expert for Flutter & Dart | Content Creator on YouTube | Subject-Matter Expert at Variiance | Mobile Enthusiast
Tarek Alabd
Expense tracking app flutter - Simple and easy to use Expense Tracking App

Flutter Expense Tracking App ?? Simple and easy to use Expense Tracking App. Fea

Aykut Alp Turkay 0 Feb 7, 2022
Flutter localization in easy steps

localize_and_translate Flutter localization in easy steps Share your love to this ❀️ Screenshots Tutorial Video Arabic : https://www.youtube.com/watch

Mohamed Sayed 48 Aug 9, 2022
Flutter plugin to display a simple steps indicator line widget

steps_indicator A simple steps indicator widget Installation Add steps_indicator: ^1.3.0 in your pubspec.yaml dependencies. And import it: import 'pac

Hugo EXTRAT 49 Oct 18, 2022
A Flutter step_tracker plugin is collect information from user and display progress through a sequence of steps. this plugin also have privilege for fully customization from user side. like flipkart, amazon, myntra, meesho.

step_tracker plugin A Flutter step_tracker plugin is collect information from user and display progress through a sequence of steps. this plugin also

Roshan nahak 5 Oct 21, 2022
Boozin fitness - A sample app to that will pull data from Google Fit to get the steps count and calories burned

boozin_fitness A sample app to that will pull data from Google Fit to get the st

Abhishek Kumar Gupta 1 Nov 23, 2022
Dart Alura Course First Steps with Language

Dart: primeiros passos com a linguagem This repository contains all the files de

Gabriel Pessoni 13 Nov 23, 2022
SmallTask - Take small steps to achieve big things

SmallTask - Take small steps to achieve big things. Have you ever felt that when you are working on a project you kinda get confused about what to do?

Yuji 2 Mar 7, 2022
Encode App-Dev is a open source project which contains different projects of Application development, Android development, IOS development, Flutter, Kotlin, Dart, Java, Swift etc.

HACKTOBERFEST 2022 Encode App-Dev is an open source project which contains different projects of Application development, Android development, IOS dev

null 4 Dec 4, 2022
An open source frontend and backend project for Ghods highschool.

GhodsProject An open source frontend and backend project. Screenshots     more screenshot... βš™οΈ Technologies I used in this project: FrontEnd: Dart Fl

Erfan Rahmati 11 May 24, 2022
This is a simple open source project where you can easily contribute by uploading algorithms that are not specified in the list.

Support this project by giving it a thumbs up! AlgoBook A new Flutter application for algorithms. This app is mainly to refer to the algorithms that a

Gloria Thomas 18 Jul 23, 2022