rip-comm / sossoldi Goto Github PK
View Code? Open in Web Editor NEW"Sossoldi" is a wealth management / personal finance / Net Worth tracking app, made with Flutter.
License: MIT License
"Sossoldi" is a wealth management / personal finance / Net Worth tracking app, made with Flutter.
License: MIT License
We need a basic settings page that follows the graphics that we have in our Figma.
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
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.
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).
As discussed on last meeting, here i'm summarize things to do on transactions section:
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)
We need an onboarding funnel as seen on Figma.
Please, if you want to work on this, let us know leaving a comment below!
Instead of hardcoding the design, let's try to find common patterns that are used in the different UI views and make well thought, customizable classes to improve code readability and maintanability.
I'm referring to the last commits by @0xbaggi, who did good work nonetheless.
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).
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
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.
We need something like one or a set of (abstract?) classes to compute data like:
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.
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!
We need a splash screen as seen on Figma.
Please, if you want to work on this, let us know leaving a comment below!
recurring_transaction
transaction
with recurring_transaction
's FKTo 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
.
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.
This was also discussed in the latest call on Discord. @lucaantonelli will take care of it.
In the "add account" widget, we need also the starting account value (which now is writed as 0)
In the "add new transaction" modal, "notes" field is not visible while filling
Is there a UML architecture documentation, for the core application?
Otherwise I can take care of it ?
We need to redo the work for the New Transaction page because unfortunately what we have now it's different from the Figma
This folder uses widgets no longer needed.
Currently we have the line graphs in these 3 section of the app but we are not using them with real data from the DB. The graphs that I am referring to are:
We need to add 'SQLite' configuration, obviously without the part of creating the tables.
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
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.
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!
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';
We have to find and implement the most appropriate icons for the pages.
I found a helpful page with a short tutorial of the Icon class and a list of flutter icons (Material Icons): https://api.flutter.dev/flutter/material/Icons-class.html
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"
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
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)
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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.