Giter Site home page Giter Site logo

two-jelly-beans / jelly-fin Goto Github PK

View Code? Open in Web Editor NEW
99.0 7.0 9.0 2.37 MB

A simple way to manage your finances with forecasting. We should automate our money, not make it automate us.

License: GNU General Public License v3.0

JavaScript 95.78% TypeScript 0.45% HTML 2.74% CSS 0.52% Dockerfile 0.50%
firebase finances forecasting personal-finance budgeting

jelly-fin's Introduction

Jelly Fin

Discord Dependabot Status PRs Welcome contributions welcome CodeFactor


Finances are hard. It's one of the first adulting things everyone has to wrestle with. So, let's make it easy and automate it. Over the course of several years, my wife and I have tracked our finances using a forecasting method and had done it all within a spreadsheet. The time came where I wanted to take this concept and make it mobile using serverless architecture and clean design.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Installing and Running

  1. Clone the repo.
  2. Run npm install to cover any dependencies.

Common Issues:

If installation isn't working for you, check the following:

  1. Your version of node (v 8.x.x) & npm(v 6.x.x): run node -v & npm -v.

Running the tests

After installing all prerequisites and dependencies, just run npm test

Dependencies

Dependency PRs are automagically opened using Dependabot. We want to make sure the app stays green by ensuring the build doesn't break when dependencies are bumped and each dependency is well tested to ensure stability.

Built With

  • React
  • Firebase

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of all contributors who participated in this project.

License license

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details

Acknowledgments

  • Thanks to my wife for the idea, motivation, and support
  • Thanks to Ben Halpern for encouraging me to open source this

Why are we doing this?

The idea is to take what we know: the transactions that are predictable like mortgage and insurance and just keep track of them against the account balance. Then take transactions that aren't predictable and try to predict them using seasonality analytics. Does your electric bill go up in the summer? Let's predict what it would be and try and account for it.

jelly-fin's People

Contributors

ajroberts0417 avatar bidhan-a avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar emmanuelvr avatar jonathan-irvin avatar msal4 avatar rozzaysred 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

jelly-fin's Issues

Build process for Travis

Since we will be building on iOS and Android, Travis should automate that build process for us.

Dependabot can't resolve your JavaScript dependency files

Dependabot can't resolve your JavaScript dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Error while updating /package-lock.json:
No matching version found for scheduler@^16.6.2

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

You can mention @dependabot in the comments below to contact the Dependabot team.

Get Tab: Calculate Balance

  • A list of sums of unique categories of transactions (e.g. Spent $43 on gas over 3 transactions; $200 on groceries)
  • Sum of all income
  • Sum of all expenses
  • Net of 3 and 4
  • Beginning Balance (entering the month)
  • Final Balance (leaving the month)
  • Minimum balance for the month

Test failure on basic App.js smoke test

Describe the bug
Getting the following error when running jest

 FAIL  src/App.spec.js
  ● Test suite failed to run

    Plugin 0 specified in "/Users/jonathanirvin/ji/jelly-fin/node_modules/babel-preset-react-native/index.js" provided an invalid property of "default" (While processing preset: "/Users/jonathanirvin/ji/jelly-fin/node_modules/babel-preset-react-native/index.js")

      at Plugin.init (node_modules/jest-config/node_modules/babel-core/lib/transformation/plugin.js:131:13)
          at Array.map (<anonymous>)
          at Array.map (<anonymous>)

----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |  Unknown |  Unknown |  Unknown |  Unknown |                   |
----------|----------|----------|----------|----------|-------------------|
Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        1.586s
Ran all test suites.

To Reproduce
Steps to reproduce the behavior:

  1. Checkout the fix-tests branch.
  2. Run jest

Expected behavior
All tests should pass

Desktop (please complete the following information):

  • OS: MacOS

Smartphone (please complete the following information):
N/A

Additional context
I've been trying to hack this and get this working without any movement.

Generating Transactions, Recurring

Some things happen periodically like getting paid, or bills that never change such as a mortgage.
We need a way to generate new transactions based off of a set of rules like weekly, monthly, quarterly, etc.

When scheduling bills, a future transaction should have a scheduled indicator

Is your feature request related to a problem? Please describe.
Planning is crucial. Typically bills are paid in advance if done right. If you have several bills, it can be a hassle determining which ones you've scheduled.

Describe the solution you'd like
There should be a way to determine if a bill has been scheduled or not. Maybe this is a checkbox.

Add a package.json script to setup development environment

Development setup is always a pain point. I need someone to take that, script it, and put it nicely into a npm run setup script in package.json.

What would also be nice is a sister script that checks global script versions to make sure you have everything you need.

Critical & Low priority vulnerabilities on "npm install"

Describe the bug

To Reproduce
Steps to reproduce the behavior:

  1. clone the repository in a new directory (i'm on MacOS)
  2. run "npm install"
  3. Observe the error:
  run `npm audit fix` to fix them, or `npm audit` for details

Here's the Audit example


┌──────────────────────────────────────────────────────────────────────────────┐
│                                Manual Review                                 │
│            Some vulnerabilities require your attention to resolve            │
│                                                                              │
│         Visit https://go.npm.me/audit-guide for additional guidance          │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Critical      │ Command Injection                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ growl                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=1.10.2                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ babel-bridge [dev]                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ babel-bridge > mocha > growl                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/146                       │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ debug                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >= 2.6.9 < 3.0.0 || >= 3.1.0                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ babel-bridge [dev]                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ babel-bridge > mocha > debug                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/534                       │
└───────────────┴──────────────────────────────────────────────────────────────┘
found 2 vulnerabilities (1 low, 1 critical) in 212933 scanned packages
  2 vulnerabilities require manual review. See the full report for details.

Desktop (please complete the following information):

  • OS: MacOS Sierra

Update readme to help with reinstallation & troubleshooting.

The readme isn't particularly informative about how to perform a clean reinstallation of the project using npm, or what common issues might arise.

Specifically, I had a versioning issue (Node & NPM versions didn't match project versions), and the README wasn't able to provide the proper assistance there.

Desktop/web version?

Is your feature request related to a problem? Please describe.
First of all, I don't know if it's aleady planned or in mind.
We all know mobile devices are the most used for consume everithing. But what about if I am in front of my computer and want to use jelly-fin, should I switch to mobile?

Describe the solution you'd like
Other solution could be provided. Why not a desktop app or web app I could use in order to switch??

Describe alternatives you've considered
Electron with React could be considered for the desktop and only React for web IMO.

Dependabot can't resolve your JavaScript dependency files

Dependabot can't resolve your JavaScript dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Error while updating /package-lock.json:
No matching version found for [email protected]

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

You can mention @dependabot in the comments below to contact the Dependabot team.

Date Sorting

Dates should be sorted in ascending order with amounts in descending order by default

Unable to run project

Describe the bug
npm start fails on macOS

To Reproduce
Steps to reproduce the behavior:

  1. cloned the repo
  2. npm install
  3. brew install watchman
  4. npm start... error occurs

Log

> [email protected] start /Users/Djbeadle/Documents/jelly-fin
> react-native-scripts start

6:12:45 PM: Starting packager...
***ERROR STARTING PACKAGER***

Error: Missing app.json. See https://docs.expo.io/
6:12:46 PM: Error starting packager: Error: Couldn't start project. Please fix the errors and restart the project.
    at /xdl/src/Project.js:1329:11
    at next (native)
    at step (/Users/Djbeadle/Documents/jelly-fin/node_modules/xdl/build/Project.js:1735:191)
    at /Users/Djbeadle/Documents/jelly-fin/node_modules/xdl/build/Project.js:1735:361
    at process._tickCallback (internal/process/next_tick.js:103:7)

Could not find virtual path that is created by vmstation

Describe the bug
my os is win7 64bit ,i have maked a virtual path 'Y:' from vmware soft ,then i want to add a libary to a folder which is in 'Y;' , but system can not find the virtual path.

To Reproduce
Steps to reproduce the behavior:
1.Go to 'Libraries' menu
2.Click on 'Add Media Library'
3.Click on icon '+' behind Folders
4.See error ,i cant find the virtual path

Desktop (please complete the following information):

  • OS: win7 64bit
  • Browser :chrome

Additional context
this problem is not exist in emby software

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.