All Projects → ketanchoyal → Sub-Track

ketanchoyal / Sub-Track

Licence: MIT license
Flutter Application to keep track of Subscriptions

Programming Languages

dart
5743 projects
HTML
75241 projects
kotlin
9241 projects
ruby
36898 projects - #4 most used programming language
swift
15916 projects
CSS
56736 projects

Projects that are alternatives of or similar to Sub-Track

Our E School
A mobile app created using Flutter Framework for School management.
Stars: ✭ 315 (+916.13%)
Mutual labels:  ios-app, mvvm-architecture, flutter-apps, firestore
MVI-Clean-Architecture
MVI + Clean Architecture + Best Practices | Example of Clean Architecture of Android app using MVI design pattern with Jetpack and popular libraries
Stars: ✭ 50 (+61.29%)
Mutual labels:  mockito, mvvm-architecture
Expenso Ios
A Simple Expense Tracker App built to demonstrate the use of SwiftUI, CoreData, Charts, Biometrics (Face & Touch ID) and MVVM Architecture.
Stars: ✭ 191 (+516.13%)
Mutual labels:  ios-app, mvvm-architecture
expense-manager
Developers : Checkout this repo for complete CI-CD of flutter with fastlane. Android/iOS both apps are getting deployed on stores with Fastlane.
Stars: ✭ 28 (-9.68%)
Mutual labels:  flutter-apps, riverpod
Todayx
🌈Flutter App:🎊「今日份的X」(每天推荐一个:图片、诗歌、名言、音乐、乐评、高等数学、两种配色、化学方程式、Github Repo、知乎问题、文章)
Stars: ✭ 128 (+312.9%)
Mutual labels:  ios-app, flutter-apps
Recipe App Flutter Ui
A nice clean recipe app UI using flutter.
Stars: ✭ 138 (+345.16%)
Mutual labels:  ios-app, flutter-apps
MoviesApp
A Movie Application uses TheMovie API, MVVM architecture and all jetpack components.
Stars: ✭ 100 (+222.58%)
Mutual labels:  mockito, mvvm-architecture
Flutter Tetris
a tetris game powered by flutter. 使用flutter开发俄罗斯方块。
Stars: ✭ 1,109 (+3477.42%)
Mutual labels:  ios-app, flutter-apps
Musicplayer
Implemented using Clean Arch, MVVM, LiveData, Room, Koin, Coil, Service, Notification and ExoPlayer
Stars: ✭ 413 (+1232.26%)
Mutual labels:  mockito, mvvm-architecture
Mvvm Kotlin Android Architecture
MVVM + Kotlin + Retrofit2 + Hilt + Coroutines + Kotlin Flow + mockK + Espresso + Junit5
Stars: ✭ 1,014 (+3170.97%)
Mutual labels:  mockito, mvvm-architecture
Newandroidarchitecture
New Android Architecture showing how to use Dagger Android libs with MVVM
Stars: ✭ 110 (+254.84%)
Mutual labels:  mockito, mvvm-architecture
Bark
Bark is an iOS App which allows you to push customed notifications to your iPhone
Stars: ✭ 2,371 (+7548.39%)
Mutual labels:  ios-app, mvvm-architecture
Flutter medical
Functioning Doctor/Healthcare Catalog App created using Dart with Flutter. Stores and loads data from Firebase Firestore DB.
Stars: ✭ 99 (+219.35%)
Mutual labels:  ios-app, firestore
Flutter For Wordpress App
🎃 Cross-platform wordpress news app built with Flutter and WP REST API.
Stars: ✭ 157 (+406.45%)
Mutual labels:  ios-app, flutter-apps
Chatter App
This is a flutter based modern messaging app where users can sign up and log in to chat with their friends, family, colleagues among groups with enriched User-Experience.
Stars: ✭ 80 (+158.06%)
Mutual labels:  ios-app, flutter-apps
GuildWars2 APIViewer
Guild Wars 2 API Viewer: An Android application used for viewing various Guild Wars 2 API endpoint responses. Developed utilizing MVVM architecture, in conjunction with Databinding, Dagger 2, Retrofit 2, and RxJava 2.
Stars: ✭ 53 (+70.97%)
Mutual labels:  mockito, mvvm-architecture
Mockito Scala
Mockito for Scala language
Stars: ✭ 231 (+645.16%)
Mutual labels:  test-automation, mockito
Open Source Flutter Apps
📱 List of open source Flutter applications
Stars: ✭ 1,086 (+3403.23%)
Mutual labels:  ios-app, flutter-apps
Flutter gank
Flutter版 干货集中营
Stars: ✭ 60 (+93.55%)
Mutual labels:  ios-app, flutter-apps
Tvflix
TvFlix android app using Dagger Hilt, Coroutines, Flow, KTX, Jetpack(Room, ViewModel, Paging3, Lifecycle) based on MVVM architecture purely written in Kotlin
Stars: ✭ 286 (+822.58%)
Mutual labels:  mockito, mvvm-architecture

CI/CD Android Hits

Sub Track: A Subscription Tracker Application built using Flutter

Sub Track is first open source Subscription Tracker app made using Flutter

Want to Contribute?

Refer CONTRIBUTING.md

TODO

  Prority

  • Add Notifications
  • Arrange Ongoing Subs according to Date
  • Add Currency Selection Screen
  • Add Android Specific UI for select icon view
  • Enable Emoji selection in select icon view

  Just Feature

  • Add Filter by Category Option
  • Firebase Sync
  • History
  • Archive Subscription
  • Pause Subscription
  • Add Shared with
  • Show Remaining days

Screenshots

And More...

Setup

Project Quick Info

  • This Project uses Hive for local storage and Firebase Firestore for remote storage
  • MVVM Pattern
  • App Architecture (This is the simplest way I came up):

Project Structure

This is a Flutter mobile app targeting Android and iOS.

The code for the Flutter app is contained in the folder lib and the different native apps are in android and ios. Extra project assets are in assets and fonts.

Prerequisites & Getting Started

Client

To build and run the mobile apps you’ll need to install Flutter and its dependencies. To verify your installation run in the project’s root directory:

$ flutter doctor

The app is optimised for Android and iOS phones in portrait mode.

Note: The project should support most recent Flutter version.

Note: Additionally you’ll need to setup the backend and add the GoogleService-Info of your Firebase app to your clients as described below.

Backend (Firebase)

Note: The following steps assume you’re using Firebases’ free Spark Plan. Therefore we’re performing the configuration manually.

1. Setup sign-in methods

An initial sign-in method needs to be configured.

  • Select your project in console.firebase.google.com.
  • Navigate to Authentication
  • Select Sign-in methods and activate Email / Password, Google, Apple and Anonymous.

2. Configure firebase app

Next, you’ll need to configure your firebase app for Flutter as described in Add Firebase to an App / Flutter

iOS

  • Enter iOS-Bundle-ID: com.yourname.subTrack or anything else
  • Download GoogleService-Info.plist.
  • Copy file to ios/Runner/Firebase.

Android

Setting up Firebase

Create a project on the Firebase console here

  1. To add Firebase to your app, click on the android icon or click the gear icon to go to project settings to find the android icon.

  2. Register your application by filing up the form with the package name (applicationId) and the app nickname if you like.

Find Your package name which is generally the applicationId in your app-level build.gradle file

  1. Download the google-service.json file that is generated for you. Find it and move it inside the folder android/app/ of the project. The firebase sdk is already added to the project.

  2. On the fourth step of registration, run the app to verify the configuration via the Firebase console.

Distribution

To build this application for distribution, provide a file key.jks containing the signing keys, and the key.properties with the following content:

storePassword=.....
keyPassword=.....
keyAlias=key
storeFile=../key.jks

Where you set the storePassword and the keyPassword. You can also change the alias.

You will need to uncomment the section signingConfigs in the app/build.gradle.

And change the signingConfig signingConfigs.debug to signingConfig signingConfigs.release.

You can also provide this files from your CI instead of including this in the project.

Note:

CI/CD using GitHub Actions is already configured in actions/ci_cd_android branch.

CI/CD

In branch actions/ci_cd_android, auto publishing of apk for testers using firebase distribution is configuted.

Everytime a new tag is created in that branch apk is built and is sent to all the testers.

A Similar setup can be configured for iOS but it requires developer account and ips with Ad Hoc Profile

About

A Native iOS Version using SwiftUI is on the way

I hope this project can be a reference or building block for your next flutter app. 🚀

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].