Sink - Verify that you're spending more than you can afford

Overview

Sink CircleCI

Sink is an app that allows you to track your income and expenses.

Current Status

  • Usable
  • Visually bearable
  • Unusable

Local App Setup

While working on and interacting with the app is relatively straightforward, setting it up requires a few minutes of effort. This is because the app uses Firebase Authentication + Database. Setup for these cannot be easily put into this repository.

Sections below outline the steps necessary to launch the app on local machine.

Setting up Firebase

Note that without setting up Firebase you might see something like this when trying to launch the app:

Launching lib/main.dart on Android SDK built for x86 in debug mode...
...
Finished with error: Gradle task assembleDebug failed with exit code 1

To fix it you will need to connect the app to Firebase. To do so, follow the steps outlined here:

Once google-services.json is downloaded and added to android/app folder, the app should start. However, this will not make the app fully functional. You will notice that you cannot get past registration screen - the app will crash. This is because the app expects email authentication to be enabled. In fact, the app expects the following to be set up:

  1. Firebase Authentication
  2. Firebase Cloud Database (Firestore)

Setting Up Authentication

  1. Navigate to: https://console.firebase.google.com/
  2. Select your project
  3. Select Authentication on the left hand side
  4. Click on Sign-in Method
  5. Select Email/Password
  6. Enable it

Now you will be able to register new users and sign in with existing email/password combinations.

Setting Up Database

  1. Navigate to: https://console.firebase.google.com/
  2. Select your project
  3. Click on Database on the left hand side
  4. Click Create Database
  5. Make sure you create Cloud Firestore. However, even if you select another type, there is an option to switch the type of a database later on. You can find it at the top of the Firebase console screen once inside the database section.

Once the steps are complete, the app will run and take care of the rest of its business itself.

Screenshots

Registration & Sign In

Sign In Registration

Entry List

Entry List

Category Creation

Category Creation

Breakdowns

Month's Breakdown Year's Breakdown

Comments
  • Not able to add new entry

    Not able to add new entry

    I'm just taking a look at this code, got it up and running in IOS emulator. I'm not able to add a new entry, I can fill it out but the save button seems to be greyed out? Is there something I'm missing?

    opened by jamesmr89 1
  • Invalid cost input causes exceptions in the app

    Invalid cost input causes exceptions in the app

    Steps to reproduce:

    1. Open the app
    2. Click + (add new entry)
    3. Enter price as 95 8 -
    4. Observe the stack trace

    Ideally, user should be informed that input was invalid.

    bug 
    opened by vilisimo 1
  • Date picker overflows

    Date picker overflows

    Steps to reproduce:

    1. Select a page to add a new entry
    2. Click on any of the input fields so that the keyboard appears
    3. Click on a date to call up the date picker
    4. Observe that exception is thrown:

    SliverGeometry is not valid: The "maxPaintExtent" is less than the "paintExtent".

    Seems to be a bug in Flutter, though, as the example app behaves in an identical way.

    opened by vilisimo 1
  • Undo replicates last entry

    Undo replicates last entry

    Currently, undo functionality simply copies the last entry. However, if undo action is issued twice (or more times), this means that last entry is inserted twice (or more).

    The expectation would be that if entry 1 and entry 2 were deleted and these actions were undone, a list would contain entry 1 and entry 2, not two copies of entry 2.

    To fix this, something of a stack could be maintained in a state, and undo action would simply pop it.

    bug 
    opened by vilisimo 0
  • After running the signing method the data entry is not working.

    After running the signing method the data entry is not working.

    the form is not taking any data. The "add" is not working. Please try to give a solution of it. It's a good project to learn. God bless you. thanks.

    opened by mirfahim 0
Owner
Simonas Viliūnas
Simonas Viliūnas
More than 130+ pages in this beautiful app and more than 45 developers has contributed to it.

flutter-ui-nice ❤️ Star ❤️ the repo to support the project or ?? Follow Me.Thanks! Facebook Page Twitter Medium QQ Group Flutter Open NieBin Flutter O

Flutter开源社区 3.4k Jan 5, 2023
An easy-to-use flutter http network requests handler with more functionality than http but more simpler than dio.

network_requests An easy-to-use flutter http network requests handler with more functionality than http but more simpler than dio. Platform Supported

Coder_Manuel 3 Dec 15, 2022
Verify code input. You can create a verify code input.

flutter_verification_code_input A Flutter package that help you create a verification input. Installing flutter_verification_code_input: git:

Tiny Express 49 Dec 7, 2022
Verify code input. You can create a verify code input.

flutter_verification_code_input A Flutter package that help you create a verification input. Installing flutter_verification_code_input: git:

Tiny Express 49 Dec 7, 2022
Mobile app for small food business have more results spending almost nothing.

ilunch Mobile app for small food business have more results spending almost nothing. Getting Started This project is a starting point for a Flutter ap

Roque Costa 9 Nov 17, 2022
A mobile wallet, that keeps track of a user's spending with analytics.

credit_clan_task A mobile wallet, that keeps track of a user's spending with analytics. Getting Started This project is a task assigned by Credit clan

Godson 2 Apr 30, 2022
Use the template to create your own repository, complete the project and verify

Proyecto Nivelación MisionTic Usar el template para crear un repositorio propio,

nockturb 0 Dec 20, 2021
The mobile app to verify digitally signed invoices.

Invoice Verif The mobile application for verifying invoices generated by the signed-invoice tool. All verification steps are performed on your termina

Maël Gangloff 3 Oct 18, 2022
A CLI tool to verify the test coverage of a pull request only, ignoring the rest of the project

This is a CI tool that analyzes the coverage rate of a pull request, ignoring the lines that were not changed in the PR. Motivation The coverage rate

Tales Barreto 3 Dec 15, 2022
A Flutter plugin than allow expand and collapse text dynamically

readmore A Flutter plugin than allow expand and collapse text. usage: add to your pubspec readmore: ^1.0.2 and import: import 'package:readmore/readm

Jonny Borges 173 Dec 28, 2022
dos downloader app is developed for downloading video. You can download video from YouTube and Facebook. You can also play video on background

dosdownloader Dos downloader app is developed for downloading video. You can download video from YouTube and Facebook. You can also play video on back

Md Abir Ahsan Tahmim 1 Dec 8, 2021
Weather app using Bloc architecture pattern & generic HTTP client with interface implementation and much more for more detail read Readme

weather Weather application for current weather, hourly forecast for 48 hours, Daily forecast for 7 days and national weather alerts. How to Run Insta

Jibran Ahmed SiddiQui 9 Oct 29, 2022
An extended version of Flutter Colors with more swatches and more flexibility to generate your own custom swatch.

Colours An extended version of Flutter Colors with more swatches and more flexibility to generate your own custom swatch. Getting Started In your flut

Salman S 4 Nov 23, 2021
NearTurf is a turf booking app that helps you find the best turf near you and book more slots. Created by using flutter , Node js

Near Turf A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Harshad Ok 3 Oct 26, 2022
Academic master is E-learning app where students can share their doubts wiith their peers they can chat and also they can find their notes

Academic Master is E-learning App. Features:- 1) You can post real Post query in Images and video formates. 2) We will Provide notes,books and previou

amit singh 25 Dec 14, 2022
This repo is for anything that can be reusable in flutter like custom widgets 🟥, animations 🌟and more

Ease This packa is for anything that can be reusable in flutter like custom widgets ?? , animations ?? and more. Features 1-custom text widget to ease

Abdelrahman Mostafa Elmarakby 91 Dec 3, 2022
Custom bottom bar - A bottom tool bar that can be swiped left or right to expose more tools.

custom_bottom_bar A bottom tool bar that can be swiped left or right to expose more tools. usage Create your custom bottom bars with up to four custom

null 4 Jan 26, 2020