Giter Club home page Giter Club logo

budgettracker's Introduction

Budget Tracker

A simple tool created to track how I spend my money.


Setup

TODO: Release a v1 build

File Structure

Budget Tracker          // Parent folder containing both the repo and the data
├── BudgetTracker       // This repo
│   ├── public
│   └── src
│       ├── Components  // Reusable React components
│       ├── Pages       // Full pages
│       ├── Types       // Custom objects and types
│       └── Util        // Reusable utility functions
│
└── data                // Folder containing all the budget data
    ├── 2022            // Each year requires its own folder within data
    │   ├── 0122.csv    // Each month requires its own csv file: <mmyy>.csv
    │   └── ...
    └── 2023
    │   └── ...
    └── ... 

Table Structure

Date Title Price Category Notes
Date string in dd/mm/yyyy format string string with currency symbol prefix string string

Development

Prerequisites

Getting Started

  1. Clone this repo
  2. Setup the data folder structure. Refer to the Folder Strucure section.
  3. Install the required yarn packages via Yarn: yarn
  4. Run the server, and electron app together: yarn electron:serve

TODO

High Priority

  • Read the file structure from the data folder
  • Add, delete and edit new and existing data
  • Validate data entry
    • No commas!
  • Handle empty cells
    • Current solution is to have a dash (-) placeholder.
  • Create a runnable build of the project

Medium Priority

  • Renamed the csv headers
    • Date
    • TitleItem
    • Price
    • Category
    • NotesLocation
    • + Comments
  • Move the data folder better location
    • /Users/<user>/Documents/BudgetTrackerData on macOS, for example
  • Reduce required setup
    • Generate folder structure on install
    • Generate new files as needed

Low Priority

  • Configurable Dashboard
  • More complex data visualization
    • D3js
    • Spreadsheet-style scripting for creating graphs
  • Save user customization
    • App state

Frameworks Used

Project setup

Design

budgettracker's People

Watchers

Zach Elkins avatar

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.