Giter VIP home page Giter VIP logo

money-tracker's Introduction

Money Tracker

Code Climate

Money Tracker

WORK IN PROGRESS

Money Tracker is an open-source progressive web app that allows you to track your income and expenses.

This app can work offline on desktop, tablet and mobile.

Data is stored locally on device in PouchDB database and can be synced to the cloud.

Implemented with React and Semantic UI

License

Our software is distributed under the MIT License.

Installation

Prerequisites

  • npm, which you can install by running:

    npm install npm@latest –g

How to install

  • Clone the repo from this website, then
  • In command line:
    • $ git clone https://github.com/ayastreb/money-tracker.git
    • $ cd money-tracker
    • $ npm install
    • $ npm start

At this point you should see the app running on

http://localhost:3000

And start developing for contribution.

If any questions arise, please see the open issues tab as some of them might have already been answered.

Contributing

If you would like to contribute, please follow these steps:

  1. Open an issue explaining what you want to fix
  2. Fork this project
  3. Create a featureDev_<YourFeaturedName> branch
  4. Add and commit your contribution (s)
  5. Push to your featureDev_<YourFeaturedName> branch
  6. Open a pull request (PR)

As always, if any questions arise, please connect with us via our <communication channel> (see below).

Community Standards

It is our responsibility to build a strong and welcoming community for all developers. Everyone who is willing to contribute is welcome, and her or his work will be considered if it solves an issue.

Please keep in mind that everyone:

  • Must use a welcoming and inclusive language
  • Must be respectful of everyone’s programming skills/backgrounds
  • Must accept constructive criticism, and aim for continues improvement
  • Must support and show empathy towards other community members

Communication Channels

<please add here your preferred communication channel>

Development Tracking

See the open issues for a list of proposed features (and known issues).

money-tracker's People

Contributors

ayastreb avatar carbogninalberto avatar lpelypenko avatar smauer 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

money-tracker's Issues

Reports don't show next year

In reports if you press to show previous month or year and then you want to come back to the previous year the app don't let you do this.

.env

I guess you forgot to add .env to .gitignore

Importing/Deleting Transactions

I was just messing around with MoneyTracker, trying to get a feel for it. Finally, I decided to delete all the accounts and transactions, to start fresh. I imported a CSV file with my expenses from the month before.

However, everything I had previously input still shows up in reports and adds to the spending even though the transactions are not there.

Ideas? Any way around this?

Additional currencies addition causes NaN

Description
When adding additional currency the currency exchange table shows NaN in some fields for a short amount of time.

Steps to reproduce

  1. Go to app landing page
  2. Add additional currencies
  3. NaN value shows in the table every time for short amount of time

Fix ideas

  • Delay showing currency exchange table until all of the exchange rates are established.

Screenshots
Exchange table

Support for family accounts

In the future it would be nice to support multiple users on the same account. I imagine this will be useful for families.

Reignite the spark for this project.

I have to say this project is very promising (at least to me), that is why I would like to see any further thoughts on it, maybe even a roadmap of some sort.

I am willing to provide my own input into it without any hesitation.

Please leave your comments below.

How to take backup of the data added in the App

I have added some data in the app and now when I copy the whole folder and save it somewhere else and try to run it then the data added in the previous session is lost. So I have two questions.

  1. How to take backup of data added in the app without moving the data online?
  2. Can I use the backup to be used in the app when the folder is moved to another location?

Login/logout buttons in settings

When user is not logged in, there should be a "log in" button in settings, leading to auth page.
When user is logged in, there should be a "log out" button, which should log user out and delete local data.

Long bill names overflow container

Description
Long bill names in the dashboard overflow their container. User is not able to see their full name and bill balance. Additionally, on the mobile, the app extends past the available screen causing behavior attached in the screenshot.

Steps to reproduce

  1. Go to app landing page
  2. Create account with name: "not really that long account name but will probably cause problems"
  3. Behaviors attached in screenshots occurs

Fix ideas

  • Provide max amount of characters allowed.
  • Cut name with three dots and show a tooltip with full name when hovered over account name.

Screenshots
PC
Mobile

Custom installation

Hi!

¿Can it be used with my custom sing up and couchdb + puchbd for self money tracking?

Thanks

Automated transactions

It would be nice to have a way to do transactions automatically on a specific time. For example, on day 1 of each month we get to pay a few bills. By creating an automatic transaction, the income or expense is created automatically.

Support for family accounts

In the future it would be nice to support multiple users on the same account. I imagine this will be useful for families.

Feature Request: Weekly and Monthly filters for viewing transactions

While using Money Tracker, I discovered it is not very convenient to view transactions on a weekly or monthly basis. I think that these filters would be more useful than the currently provided filters as most people think of money in terms of calendar weeks and months, as opposed to the last 7 days.

Currently, to get a weekly or monthly view you must use the custom date filter and manually select the range. Quickly changing the date range isn't possible since using the custom date filter deactivates the button. To change the date range, you must click out to a different filter before selecting the custom date option again to access the range selector. This can get annoying if you just want to view your transactions month-by-month.

My suggestion for implementation would be to simply bring over the filter view from the Reports page, where there are arrow buttons that allow the user to quickly go forward and backwards in the calendar.

Exporting Data into CSV

Hello,
I'd like to know what's the easiest way to export data from the app. I suppose I can somehow take the db from the browser and then edit it but javascript is not something I'm really good at, I'd like some pointers ;D
Thanks

How to install ?

Hello, how to install money-tracker on a mutual host (OVH) without SSH?

Transactions page

Transactions tab should display a list of all transactions in chronological order, newer on top.
Default amount of transactions should be loaded initially (50), in the end of the list should be a button "Load more" which loads older transactions in the same list.

Any updates on roadmap for further features in app?

Hi community,
I find this money tracker to be extremely useful, a simple app that solves the purpose.
I m curious to hear on any updates on roadmap for further features in the app.
The features like budget, export to csv & other features is really a great add-on to existing app.
Looking forward to the response from the community.

Thanks in advance.

sign in issue

Hi.

On sign in, after adding the code from email, "Synchronizing data, this might take a moment..." never stops. Tried it a few times with Chrome and Firefox.

Import data from CSV

It should be possible to import data from CSV file with following format:
date;account name;tag;amount;currency;note;linked account

if "linked account" column is not empty - it has to be a transfer transaction.
Next row represents linked amount.

Cannot register for a new account

I'm trying to set a new account up and used the sign in feature. I got a code via email, but after entering the code, there's an infinite "Synchronizing data, this might take a moment..." screen with a URL that reads https://app.moneytracker.cc/auth#error=server_error&error_description=Unable%20to%20configure%20verification%20page.&state=S.Z5BpPQARTusZtU2-RPTopkxeakQ-yD

Logo Design Proposal

Hi Sir @ayastreb , I am a graphics designer and I want to contribute by proposing an logo design . If you will permit me I will start doing it.

thanks and best regards!

Reset the account

Hi! Amazing job. It will be very useful have an option to reset the account to restart the experience from zero.

Account Creation Bug

While creating an account it is possible to initialize multiple accounts with the exact same name. This appears to be a bug as it makes it incredibly difficult to keep track of your separate accounts. The app is supposed to make keeping track of your finances simpler and easier and this seems to defeat the purpose of that goal.

Secondly, while creating an account, it is not possible to delete an erroneous account, or to modify an erroneous initial balance for that account. I.E. if i create an account initially with $10000, and I realize that is a mistake, I cannot fix that mistake without creating the account and manually changing it once it is created.
pasted image 0

Validate future transactions

Hi. Sorry for my bad English. The app is so cool but when I want to add an expense or income in the future date the net worth updates with the amount of transaction. I think that the future expenses or incomes should be validated as a budget but not a transaction. What do you think?

sign in fails

Hi,
When I try to login to my existing account, I receive no emails with the code. The interface does not display any warning/errors https://app.moneytracker.cc/auth

I also checked in my spam folders but I cannot find the code.

Thanks,
Martino

Edit transaction

Transactions in list should be clickable.
Click on transaction should lead to edit transaction page.
It should be possible to change all transaction fields on edit page.
Account balance delta should be recalculated.

Unable to deploy locally and run the app

I tried downloading the code and running it locally. But I got an error when I just started with npm install.

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.1.3 (node_modules\react-scripts\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.1.2 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\webpack-dev-server\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN [email protected] requires a peer of chartist@^0.10.1 but none was installed.
npm WARN [email protected] requires a peer of redux@^3.1.0 but none was installed.
npm WARN [email protected] requires a peer of ajv@^6.0.0 but none was installed.
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: prebuild-install || node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'prebuild-install || node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the leveldown package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! prebuild-install || node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs leveldown
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls leveldown
npm ERR! There is likely additional logging output above.

After this I tried running the app using npm start, It displayed

Failed to compile
./src/util/storage/pouchdb.js
Module not found: Can't resolve 'pouchdb' in 'money-tracker-master\src\util\storage'
This error occurred during the build time and cannot be dismissed.

Do let me know what are the steps to follow to make this run locally.

Run error

C:/Users/badmotherfucker/Desktop/money-tracker/node_modules/@types/react-redux/node_modules/@types/react/index.d.ts
TypeScript error: Duplicate identifier 'LibraryManagedAttributes'. TS2300

2982 |         // We can't recurse forever because `type` can't be self-referential;
2983 |         // let's assume it's reasonable to do a single React.lazy() around a single React.memo() / vice-versa

2984 | type LibraryManagedAttributes<C, P> = C extends React.MemoExoticComponent | React.LazyExoticComponent
| ^
2985 | ? T extends React.MemoExoticComponent | React.LazyExoticComponent
2986 | ? ReactManagedAttributes<U, P>

Question: What is the currency api?

I saw that the currency api is in the .env file, but i couldn't find any information on it. Is that yours or a third party? What's the source? How accurate is it? I think is valid to document the use of that api.

can not run

i'm getting this issues
./src/containers/Reports/index.js
Module not found: Can't resolve 'actions/entities/accounts' in '/home/berchant/work/Ospace/money-tracker/src/containers/Reports'

and when i go to a console this is another error i'm getting
src/entities/Account.ts
Line 56:31: Parsing error: Unexpected token, expected "]"

54 | }
55 |

56 | const GroupToTextMap: { [code in AccountGroupT]?: string } = {
| ^
57 | [AccountGroupT.Cash]: 'Cash',
58 | [AccountGroupT.Bank]: 'Bank Account',
59 | [AccountGroupT.Deposit]: 'Deposit',

src/entities/Transaction.ts
Line 19:17: Parsing error: Unexpected token, expected "]"

17 | date: string;
18 | linkedAmount?: string;

19 | tags: { [kind in TransationKindT]?: string[] };
| ^
20 | }
21 |
22 | export interface TransactionStateT extends TransactionBaseT {

contribute to documentation

Hello there,

I would like to provide a contributor’s guide/documentation for the Money Tracker. Right now it is a bit challenging for a newcomer to start contributing to the project because there is no instruction/documentation on how to do so.

The sections of the developer documentation that I plan to include are the following:
About the project (an incorporation of what you already have)
License: let potential contributors know right away the project’s license rather than having them go search for it in the files
Installation: prerequisites and instructions about how to install the project locally
Contributing: instructions on what needs to be done to contribute, and do a pull request
Community standards: guidelines on how to create a supporting and welcoming community for all contributors
Communication channel: how to communicate with the project owners or maintainers
Development Tracking: for contributors to know what the current bugs/issues are or how to access these

You can always edit/update this documentation to better fit your standards.

Please let me know what you think, and I'm more than happy to do a PR.

Thank you!

Miguel Gaspar

Exchange rate widget

Should display all used currencies exchange rate widget under currencies options in settings.

Weekly Report Filter

Hey!

Can someone help by adding a weekly filter to the report tab? Currently there's a yearly and monthly filter, but a weekly one would be useful!

To elaborate, seeing income/transactions as a total per week would he very useful. It would basically be similar to the monthly one but shorter, so just 7 days rather than 30+

Thanks!

Cloud sync questions

I'm interested in how and where the backup of the database is stored in Money Tracker. I think it would be nice if this were documented somewhere too.

From looking at the network requests it seems that you're hosting your own CouchDB at https://couch.moneytracker.cc/, and PouchDB replicates onto that. Is that correct? I wonder about the security of that.

Is it possible to configure the URL of the CouchDB replication target to our own CouchDB?

Non-excludable transaction...

Hi!

I just started to use Money Tracker and made a mistake...

I created a Credit Card account and set it with a POSITIVE initial balance. When I made the transfer (aka payment) from my bank account to the credit card account, the balance doubled instead of became zero, of course.

As redefine the initial balance isn't available, I deleted the credit card account with the intention to recreate it, but chose not to delete the previous transactions...

Now I cannot delete that original transfer transaction...

So, how do I fix this mess?

Thanks.
Regards.

Budget

What are the features you are planning to do on the budget?

Auth0 and CouchDB

How to implement my own Auth0 and CouchDB? Do you have instructions for that?

Transactions filter by date

It should be possible to filter transactions list by date, e.g. last week, last month, last 6 month etc.
It should be possible to filter by date range, e.g. from A till B.

Adding guide

Hey, just wanted to start up a guide to let new users know how to use Money Tracker and get a quick feel for it. Figured it'd be useful to have overall.

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.