Skip to content

Features an API with budget visualizations and predictions for SaverLife users

License

Notifications You must be signed in to change notification settings

easpaas/Labs25-SaverLife-TeamA-DS-API

 
 

Repository files navigation

MIT Python

Saver Life Demo Video

https://youtu.be/AMusXTNxZqs

README Directory

Important Links:

Contributors

Doug Cohen Kyle Yates Harrison Kang

Data Science API

The Data Science API for the SaverLife project can be found here (hosted on AWS Elastic Beanstalk)

Getting Started

Navigate to http://saverlife-a.eba-atdfhqrp.us-east-1.elasticbeanstalk.com/ in your browser

image

You'll see our API documentation:

  • App title
  • API description
  • An endpoint for POST requests, /future_budget, /moneyflow, and /spending
  • An endpoint for GET requests, /current_month_spending and /dashboard

Click the /future_budget endpoint's green button.

image

You'll see the endpoint's documentation, including:

  • The function's docstring
  • Request body example, as JSON (like a Python dictionary)
  • A button, "Try it out"

Click the "Try it out" button.

image

The request body becomes editable.

Click the "Execute" button. Then scroll down.

image

You'll see the server response, including:

  • Code 200, which means the request was successful.
  • The response body, as JSON, which shows the recommended budget for a specific user.

File structure

project
├── Dockerfile
├── requirements.txt
└── app
    ├── __init__.py
    ├── main.py
    ├── helpers.py
    ├── user.py
    ├── api
    │   ├── __init__.py
    │   ├── dashboard.py
    │   ├── predict.py
    │   └── viz.py    
    └── tests
        ├── __init__.py
        ├── test_main.py
        ├── test_predict.py
        └── test_viz.py

Wireframe

image

Engineering Diagram

image

Tech stack

  • AWS Elastic Beanstalk: Platform as a service, hosts your API.
  • Docker: Containers, for reproducible environments.
  • FastAPI: Web framework. Like Flask, but faster, with automatic interactive docs.
  • Plotly: Visualization library, for Python & JavaScript.
  • Amazon RDS: Cloud based relational database.
  • Statsmodels: Statistical modeling library for Python.

Application Overview

Watch the video below to see an overview of the finished product!

Watch the video

About

Features an API with budget visualizations and predictions for SaverLife users

Resources

License

Stars

Watchers

Forks

Languages

  • Jupyter Notebook 82.7%
  • Python 17.2%
  • Dockerfile 0.1%