Giter Site home page Giter Site logo

expense-calendar's Introduction

Redux Income & Expense Tracker

This originated as a playground for messing with redux, and evolved into something I'd like to use.

Most budget apps let you label past transactions so you can see where your money has been spent. I'm planning to go the opposite direction with this, allowing you to enter all your recurring income and expenses so you can see an overview of where your money will go.

There will be charts and graphs. As of this release, it does the following:

  • Show a calendar of each month
  • Highlight today's date
  • Allow you to increment/decrement month
  • Allows you to fast travel back to the current month
  • Sums up the income/expenses in a given day
  • Allows you to enter new income through a form
  • Allows you to enter new expenses through a form

All of this is stored in the global redux state, and all actions are dispatched through that system.

Styles are handled by styled components. For now, I'm defining everything on the fly, but soon everything will be refactored in such a way that it can be reused.

Forms are using react-hook-form, with yup for validation. I've used a lot of formik in the past, but react-hook-form boasts impressive performance with far fewer re-renders during input. I gave it a shot and it's wonderfully simple.

Dayjs is the date library I chose because it has the same api as momentjs, but is much smaller (and also immutable).

If you have questions, feel free to email me: [email protected]

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.