Code Monkey home page Code Monkey logo

sossoldi's People

Contributors

0xbaggi avatar antoniomiclaus avatar bozzelliandrea avatar coluzziandrea avatar federicobruzzone avatar federicopozzato avatar filippoml avatar gallottino avatar gbergatto avatar gioisco avatar giovanni-ercolano avatar jackrua avatar jokerzendev avatar k-w-e avatar karimsgobio avatar lucaantonelli avatar marianialessandro avatar matteasu avatar mikev-cw avatar nandaydev avatar orlandoparise avatar paxol avatar pentidave avatar pietrochitto avatar rcasula avatar sainzrow avatar theperu avatar

Stargazers

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

Watchers

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

sossoldi's Issues

Settings Page

We need a basic settings page that follows the graphics that we have in our Figma.

Transform accounts modal to a page

Currently the lower part of every account modal shows some weird things instead of the right transactions. I think we can re-use a lot of the work that as been done for the transaction page by @GBergatto (#84 )
Figma link for reference

EDIT: After discussing this issue on discord we decided to remove the modal and use a page instead

Refactor Planning page

Since the restructure of the DB the current Planning page is not working properly anymore. I'm not 100% sure but I thing last time @0xbaggi worked on it. Not sure on how much work still needs to be done there so if there are more information that would be great for whoever is going to work on this issue.

Overflowed text

On phisical iPhone 13 Pro, some texts on "settings" and "graphs" pages, is overflowing.
IMG_3654
IMG_3653

rename field in recurringTransactionAmount

After recent db scheme changes (#71) we should rename idRecurringTransaction field in idTransaction (recurringTransaction table has been merged with transaction, so there's no more idRecurringTransaction to refer to).

Transaction section improvements

As discussed on last meeting, here i'm summarize things to do on transactions section:

  • [list tab] Currently we're showing only last 5 transactions. We need to filter by dates, not by limit
  • [list tab] Date picker selection actually does not affects transactions list
  • [categories tab] "income" and "Expenses" filter does not change view
  • [categories tab] Graph should take colors by category
  • [categories tab] Subcategories shows IDs instead of values when opened
  • [categories tab] Subcategories has overflowed text when opened/closed (Fixed on #116)
  • [accounts tab] Should be entirely done from scratch
  • [all tabs] Collapsible header shows "settembre 2022" when collapsed, regardless on actual month selected (Fixed on #102)

hex code for colors

I noticed that color is an integers used as the index for a list of default colors. Wouldn't it be better to save the HEX code instead and convert it directly to the Color class? With the current solution, if we were to edit the list of colors, we'd have to change all indexes across the database.

(From a comment of @GBergatto on #85)

not visible text in calendar view

In "Transaction" page, when you want to select a time period clicking on the selector, the upper part of the page shows white on light grey text.
IMG_3656

Onboarding

We need an onboarding funnel as seen on Figma.
Please, if you want to work on this, let us know leaving a comment below!

Currency selector on Settings

As discussed in the last call we should add the option to change the currency used in the app.
I think that putting this option is enough and for now I don't think it is necessary to also add it to the Onboarding. We can set the euro as the default and the add the option for the most important for Mr.RIP followers (Dollar, Pound and Swiss Franc).

Set up Dark mode

As discussed on Discord it wouldn't take much to implement a dark mode on the app.
I would also add an option to turn it on/off from our settings, I would create a card similar to the ones that we have and that would change the theme when you tap on it. Maybe we could also change the icon between a sun and a moon when a user taps on it but it all depends on the effort required

Notification system

We should set up some kind of notification to help the user build the habit of tracking his expenses. Ideally we could let them choose after how many days of not creating a new entry they should receive the reminder.

high level classes to do some math

We need something like one or a set of (abstract?) classes to compute data like:

  • monthly budget (sum of all monthly transactions, to split by categories)
  • accounts balances (sum of all transactions ever referring to that account + starting balance)
  • net worth (sum of all transactions ever of all accounts + starting balance of all accounts + investments)
  • ecc...

We want something to call after a trigger, that perform the calc, and store it in the DB. Possibly should call linked data to re-calc them.

For instance: When the user adds a transaction for the previous month (trigger), we need to re-calc all sums of that month, maybe that year, maybe the NW, and store that data SQLite for quickly showing in the UI.

Hive benchmark

We want to do some benchmarks using Hive instead of Sqflite. Ideally we should create a new branch to play with Hive and, based on how things go, determine who's the winner!

Splash screen

We need a splash screen as seen on Figma.
Please, if you want to work on this, let us know leaving a comment below!

Break down pages into separate widgets

To improve legibility, I think we should break down each page into separate widgets stored in separate files, each of them representing a section of the page.

For an example of this, see my PR #36

Each page should be wrapped in a folder with the same name containing a widgets subfolder that stores custom widgets extracted from that page.

├── transactions_page.dart
└── widgets
    ├── accounts_tab.dart
    ├── categories_tab.dart
    ├── custom_sliver_delegate.dart
    ├── list_tab.dart
    └── month_selector.dart

The widgets subfolder should contain widgets that are specific to a particular page, whereas the ones that are shared across multiple pages should go in /lib/custom_widgets.

Use relative path to import files

To keep a consistent coding style, I suggest we use relative paths when importing files from within our app.

// Before
import 'package:sossoldi/model/example.dart';

// After
import 'model/example.dart';

As long as we use it consistently, any of the two styles will have the same performance. However, it's important not to mix them as that might lead to some issues.

The official guide on dart recommends using relative import paths.
See also https://stackoverflow.com/q/59693195/14157994 for pros and cons.

The reason why I prefer relative paths is that they are shorter and help differentiate between our files (within lib) and external packages.

Core architecture

Is there a UML architecture documentation, for the core application?
Otherwise I can take care of it ?

New Transaction Page

We need to redo the work for the New Transaction page because unfortunately what we have now it's different from the Figma

Graphs Page

We need to fill the Graphs page that is currently empty. The best thing I think it is to divide it in three task, one for each widget. Here you can find the Figma

  • Graph
  • Accounts
  • Categories

Docs: Update `README.md`

I think we have to write a correct README.md file.

Please, if you want to work comment on this issue saying you want to do it.

theme data

We need re-usable high level class (or anything else) to use same theme colors and fonts across the whole app.
Use our Figma repo to see the UI.
Please, if you want to work on this, let us know leaving a comment below!

Incorrectly named imports

I think we should check import names in all dart files.
They need to be relative paths as explained in #43.

For example:

// Before 
import 'package:sossoldi/model/example.dart';

// After
import 'model/example.dart';

transfers addition issue

I am able to submit a transfer without the second account selected, when I comeback to the home then I see an error in the last transactions section.

Transfer.error.mov

(From a comment of @theperu on #85)

Internal alerting system

We need a class that handles displayable alerts to the user.
I mean messages like "ok! Your transactions has been added" or error messages like "a category is needed to save the transaction"

Privacy policy

As was rightfully pointed out we should have some privacy policy in place in order to ship our app on Google's and Apple's stores.
I tried to look at similar things in order to create something decent, I'll try to make a PR for this

Change the upper part of the screen

Currently every screen has "DASHBOARD" written at the top. We need to change it order to have the correct one in all of them (Transaction, Planning, Graph in particular)

add "active" field to bankAccount table

We need to add an "active" bool field to bankAccount table. FE will then show only active accounts.
When a bankAccount is deleted, we just assign active = 0.

add "active" field to budget table

We need to add an "active" bool field to budget table. FE will then show only active budgets.
When a budget is deleted, we just assign active = 0.

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.