Giter Club home page Giter Club logo

grocery-spending_skmorris's Introduction

User Guide

The Grocery Spending App offers personal insights into a user's grocery spending habits by tracking their purchased grocery items. Users are able to analyze their grocery transactions at an item level by using the interactive dashboard that is by filtered by month and category.

Requirements

The packages and corresponding versions are listed below and can be found in the requirements.txt file.

Package Version
Dash 1.20.0
Dash Bootstrap Components 0.12.2
Dash Core Components 1.16.0
Dash HTML Components 1.1.3
Dash Table 4.11.3
Pandas 1.2.4
Plotly Express 0.4.1
Python 3.8.8

Installation

Prior to running app.py, use pip to install the required third party packages:

pip install -r requirements.txt

Usage

After installing the required packages, open an IDE and run app.py.

The terminal will display the following:

Dash is running on http://127.0.0.1:8050/

Known Issues

Below are known issues:

  • The app runs off a CSV file with queries to the Pandas dataframe.
  • There is no authentication function.
  • The app does not allow multiple users.
  • The slider input for quantity only goes up to 10.
  • The item name is not capitalized in the CSV file if it is entered in all lowercase letters.
  • The format of the amount in the pie chart is longer than two decimals.
  • The amount at the top of the bar chart is cut off at the top.

grocery-spending_skmorris's People

Contributors

skristimorris avatar

Watchers

 avatar

Forkers

chharding

grocery-spending_skmorris's Issues

Some notes:

  • Don't hardcode the full path to your DB. Just call it data/expenses.csv which means it's sitting in a data subfolder within the same folder as your main.py file.
  • in main.py, I think you need to define a root route ('') and have it server up your new index via a template.
  • if OK for now to make a global dataframe from a csv file at the top of main.py. You could later have a function open_DB() that returns a dataframe based on the name of the csv file (within the data folder). That function could be def'ed in main.py or in a separate module .py file from which you'd have to import it.
  • Full disclosure: I've not used the flask forms but it looks like you found some examples
  • I see you're playing around with small code snippets (which is fine!). Is there anything you could need specific help with?

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.