Home

Awesome

<img src="/budget_blocks_logo_color.png" width=500>

Budget Blocks DS API

Web Front-end

DS API

Video Overview

Contributers

Adriann LefebvereChris Jakuc
<img src="https://media-exp1.licdn.com/dms/image/C5603AQHnWP2pLXNElA/profile-displayphoto-shrink_200_200/0?e=1597881600&v=beta&t=4mkgFZn0Ny3TO2vC6IA0atRSJNjrhA1OstP0kSkDdtc" width=200><img src="https://media-exp1.licdn.com/dms/image/C5603AQF1rn6d_fEWRQ/profile-displayphoto-shrink_200_200/0?e=1597881600&v=beta&t=5_hQV3iFj87RiQZzLMr76c7G63yL8O4PI29KeBsgbqw" width=200>
<img src="https://image.flaticon.com/icons/svg/25/25231.svg" width=25> <img src = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.shareicon.net%2Fdata%2F2017%2F06%2F30%2F888065_logo_512x512.png&f=1&nofb=1" width=27><img src="https://image.flaticon.com/icons/svg/25/25231.svg" width=25> <img src = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.shareicon.net%2Fdata%2F2017%2F06%2F30%2F888065_logo_512x512.png&f=1&nofb=1" width=27>

The entirety of this repository was built in a collaborative effort between the contributors using VS Code's LiveShare extension.

Future web team members: If you have any problems with our API or have any questions, you can contact either of us via Slack or LinkedIn and we will help troubleshoot/answer any questions.

Local Setup

Tech Stack

Languages: Python, SQL, HTML

Framework: FastAPI

Deployment: AWS Elastic Beanstalk

Database: PostgreSQL hosted with ElephantSQL

API Documentation

The API documentation can be found in the deployed version of the API here

<img src="https://i.gyazo.com/aa8527508d52326aceeaff4ed6d819bf.gif" width=650>

Communicating with the API

/transactions

{
  "transactions": [
    {
      "account_id": "k9VvjL1Eq3Cnk8gaQXDXt3aRVe7DaGiWekXgz",
      "account_owner": 0,
      "amount": 25,
      "authorized_date": 0,
      "category_id": "16001000",
      "date": "2020-05-15",
      "iso_currency_code": "USD",
      "location": {
        "address": 0,
        "city": 0,
        "country": 0,
        "lat": 0,
        "lon": 0,
        "postal_code": 0,
        "region": 0,
        "store_number": 0
      },
      "name": "CREDIT CARD 3333 PAYMENT *//",
      "payment_channel": "other",
      "payment_meta": {
        "by_order_of": 0,
        "payee": 0,
        "payer": 0,
        "payment_method": 0,
        "payment_processor": 0,
        "ppd_id": 0,
        "reason": 0,
        "reference_number": 0
      },
      "pending": false,
      "pending_transaction_id": 0,
      "transaction_code": 0,
      "transaction_id": "47E1jBQLoNhA6ajvnLeLCX4NwvKQmnFd7wQ8K",
      "transaction_type": "special",
      "unofficial_currency_code": 0,
      "plaid_category": [
        "Payment",
        "Credit Card"
      ],
      "budget_blocks_category": [
        "Debt"
      ]
    }
  ],
  "user_id": 1,
  "totals": {
    "Personal": 0,
    "Food": 0,
    "Debt": 25,
    "Income": 0,
    "Giving": 0,
    "Housing": 0,
    "Transportation": 0,
    "Transfer": 0,
    "Savings": 0
  },
  "request time in seconds": 0.777806282043457
}

/census

{
  "City": "New York",
  "Personal": 2304.0833333333335,
  "Food": 725.5,
  "Debt": 0,
  "Income": 8409.25,
  "Giving": 125.66666666666667,
  "Housing": 1950.5833333333335,
  "Transportation": 707.75,
  "Transfer": 0,
  "Savings": 2595.666666666666
}

/update_users

{
  "message": "Updated preferences successfully"
}

/reset_user

/delete_user

/admin routes

<img src="https://i.gyazo.com/68dfce0ec1ef3ea7dc1c24fbbf7506ea.gif" width=750> <img src="https://i.gyazo.com/fb1502198593c6aae3f8019ad98c2e06.gif" width=750> <img src="https://i.gyazo.com/3639ca1403cacd2f46dad5694de5c7fb.gif" width=750>