danielfireman / isumm Goto Github PK
View Code? Open in Web Editor NEWSimple and nerd way to easily summarize investiments.
License: GNU Affero General Public License v3.0
Simple and nerd way to easily summarize investiments.
License: GNU Affero General Public License v3.0
We all have different "classes" of investments: short/long term, higher/lower risk, higher/lower liquidity, etc. If we want to see how one of those classes are performing, we are out of luck because we only see the aggregate of everything.
I propose we allow users to select which investments to plot graphs for. Something very simple: we know our own investments to classify them, so no tags are necessary in the first iteration (though on a future iteration we could have nice breakdowns). Just checkboxes with each investment.
To simulate the bug insert here a withdrawal of 100,000 in the PETR3 investment.
Add a default value in date input to today.
The page is getting too big. @brunodias20 suggested to make this a data table and I believe it great, but as this is a part of the page that we come very rarely, we could first just take it off the main page (reducing the amount of html sent) and then decide what to do with it.
If the numbers grow a little bigger the whole thing gets harder to read. The formatting string can totally be a configuration and we could use @gorhill 's github gist so we don't need to depend on external packages (slightly complicated in app engine).
I seems unnecessary to me. Lets make the app even simpler (nerdier :P) @IdNotFound , what do you think?
Just dump the datastore in JSON format. This is useful if the user wants to rename the project (clean up datastore and so on).
Right now, the app on mobile has a very poor experience.
We should have some basic responsive design to make it more pleasant to track your investments on the go! :)
To standardize the template!
List pages currently opens in a new page. Lets simplify everything and have everything in the first page separated by headers. Having a table of contents or a menu is all we need.
The app allows to create the same Investment (same name).
Would be better if the JS code stays in a separate file.
In the future, we'll want to compare our investment returns to a benchmark (CDI, Selic, NASDAQ, etc.), so we should think a bit about how to support those.
This is a feature request for the future (Gamma release?)
Currently we have part of the logic of the summarization logic at operation.go and at handler_app.go. As this is core part of the project we should restructure earlier than later.
The main goal of this issue is to improve this structure and have unit tests in place.
This could be useful to draw an overall picture of the investments.
Currently it is just a monotonic increasing integers. It should be in the format Month/Year.
Flot already nows how to deal with time formatting. Examples of mode time and formatting functions can be found http://www.jqueryflottutorial.com/how-to-make-jquery-flot-time-series-chart.html
Editing an investment sounded like it would rename it, but in fact it wipes all history. (equivalent to deleting and re-adding)
We should either add a warning or change this behavior.
Just for us to know how many instances we have running. It could issue a fire-and-forget request at init().
During the month sometimes we add only a withdrawal or deposit. Those points should be ignored until the end-of-the month balance.
Just because it is cool.
drone.io and have free builds for open source projects.
This chart will have a month-by-month interest rate accross all investments. It should consider deposits and withdrawals based on what isumm.Operations.Summarize returns (balance and changes). The formula for calculating the interest rate of month i goes as follows.
Ii,i-1 = (Bi - (Bi-1 + Ci-1)) / ((Bi-1 + Ci-1)))
Where I is the interest rate from I is the interest rate, B the balance and and C the change.
It is fine to share the amount summary chat's look-and-feel.
We are pretty close of the alpha version (0.00001) :D
It is very hard to know that the problem with your value is an extra whitespace.
We totally need a demo instance (isumm-demo.appspot.com ? isumm-demo-head.appspot.com ?) that is open for playing around.
This will make it much easier to:
Instead the lists and sublists I think that would be better if we create a nested table to organize the operations. Something like this: https://datatables.net/examples/api/row_details.html
Followed the install.md steps and had an issue when opening the /app endpoint (after test sign in).
It is a string and can be stored at config.go.
Implement a simple version check at init() and add a small banner to the top of the isumm page asking the user to update her (his) version.
As the task #61 was resolved it's interesting to create a menu in the app.
When I enter my current balance, I usually double-check the last operations to see which ones I haven't entered yet. The way the app was organized in the past, where summary and operations shared the same screen, was convenient for this, but at the cost of speed, size and visual noise.
One possible way of having the best of both worlds is to keep the last X operations of each investment on the home/summary screen. "X" could be a fixed number (e.g., 3) or all the operations in the last month, for example. (here, "last month" is also fluid: last calendar month, based on current date, or the last month of operations in that investment; whatever is easier should suffice for me at least).
In cases like rent bonds, the monthly rent split goes straight into the bank account (which is profit) and this leads to absolutely no increase (assuming I don't re-invest this value).
We would like to have a way to add this to isumm and have way to view increase and profit separately (as well as altogether).
Message: API error 4 (datastore_v3: NEED_INDEX): The index for this query is not ready to serve. See the Datastore Indexes page in the Admin Console.
Sometimes is only about wait a couple of minutes. Sometimes it takes a long long time. Let's see if there is some way to create this index in advance or something alike.
One of the mains goals of isumm is that each user will have her own app engine instance. To make it easier for new users we should document the process.
Add unit tests to (investments.go)[.. /blob/master/investments.go] and handlers.
No need for having two separated sections. I have done that just because it looked simpler โ๏ธ
Data format is only available on Chrome browser
Currently we have Language English, Number format in US and Currency in R$.
The funniest thing is that we only have pt-BR users.
Time to consolidate. Lets have everything in pt-BR then we add internationalization afterwards.
Marking as a bug just because I think it is bugged UI. No strong feelings here.
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.