Code Monkey home page Code Monkey logo

budgetbook's Introduction

budget book

An Android app that helps you track your spending and savings.

Note: This is a passion project that's developed for personal use. It is not intended to be released as a commercial product (yet).

Features

Must-Haves:

  • Add a new spend/income entry
    • Income or expenditure
    • Date
    • Amount
    • Category (defaults to uncategorised)
    • Image (optional)
      • From gallery or connect to phone camera
    • Description (optional)
  • Edit an existing spend/income entry
    • Any of the fields
    • Upon changing the image, the old image will be discarded (unless it has been backed up, and the user restores the backup)
  • Delete an existing spend/income entry
  • View summary of spending/income
    • Different periods
      • By day
      • By month
      • By year
    • Pie chart
  • Back up
    • Local storage (automatic, offline)
    • Google Drive (requires internet connection, can change backup location/file name)
    • "Back up now" to force an immediate local and Google Drive save (if connected to a Google Drive account)
    • "Sync from Google Drive" to pull Google Drive data, saves to local storage as well (can't undo!)

Nice-to-Haves:

  • Different types of currency
    • Will be an app-wide change. All past entries will be updated with the new currency symbol.
    • User can provide an exchange rate to update past entries. Default rate is 1 (unchanged).
      • Some way to undo/confirm the change.
  • More user options
    • Auto entries (e.g. automatically add salary entry on the 1st of the month)
      • Shortcut buttons (e.g. button to automatically add a $5 lunch expenditure)
    • Customise categories
      • Icon from provided list or gallery image
        • Notify if icon from provided list is being used as the icon for another category.
      • Category names must be unique
      • Able to have sub-categories (e.g. food -> snacks)
      • If a category is deleted, all past entries with that category is converted to "uncategorised"
        • "uncategorised" cannot be deleted, but can be renamed.
    • Default default entry options
    • Change back up options
      • Auto back up (will require internet connection to perform auto back up to Google Drive)
      • Back up only when button is clicked
    • Export data as .xml or excel spreadsheet etc.
  • Payment methods for backing up to Google Drive
    • Only if the app is tailored to become a commercial product.
  • Import some existing ML library to parse photos of receipts and auto-populate spend entries

Progress

  • Define requirements
  • Wireframing
    • Landing screen
    • Create/edit entry screen
    • Summary screen
    • Settings screen
  • Development of core features
    • CRUD of entries with income/expenditure, date, amount, one of the preset categories and optional description
    • Daily/monthly summary
  • Development of additional required features
    • CRUD of entries with image from gallery or camera
    • Customisable categories
    • Yearly summary
    • Backup to Google Drive
  • Testing (should be done alongside development)
  • Development of extra features & Testing
  • Release on the Play Store (?)

Aesthetics

Colour scheme: soft pastel colours, generally bright

Graphics: cute

Typeface: rounded sans serif font, not too small

Language: simple, minimal

budgetbook's People

Contributors

limmlingg avatar

Watchers

 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.