Giter VIP home page Giter VIP logo

spending-alert-app's Introduction

streaming-07-daily-expenses

Final Project for Streaming Data course

I located a csv file with timestamped data on daily expenses. The file included several columns like category, subcategory of expenses, as well as the amount of the expense. This is the original dataset https://www.kaggle.com/datasets/prasad22/daily-transactions-dataset

I designed a producer and consumer to send and receive alerts on expenses over $5000 using RabbitMQ. Becuase I was only interested in this one alert, I did not need to use multiple queues.

Some entries included dates, but not a timestamp. For the purposes of this project about streaming data, I excluded these entries through the python code. To simulate streaming, I added a sleep time, but because I wanted to see if it was working quickly, I set this to just 1.

I had not done the optional assignment of sending an alert to email, so I tackled that this time around. Suggestions from classmates helped me figure out how to use .gitignore and .env to store my password and from_email. I also worked around gmail errors by creating a two step authentification app password. I had to keep adjsuting when the repo was pushed to github, but I finally got it to leave the .env out.

The result is a simple producer and consumer app similar to existing banking apps that sends an email alert whenever it finds a daily expense of 5000 or more.

Here is the expense alerts queue running in RabbitMQ image

Here is the producer and consumer running is separate terminals indicating email alerts are being sent image

Here are the email alerts in my inbox image

spending-alert-app's People

Contributors

aledgerwood 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.