Skip to content
    Back to all Bounties

    Earn 27,000 ($270.00)

    Time Remainingdue 2 years ago
    Completed

    Plaid API python app & GPT Agent Data Annotation

    luquitared
    luquitared
    Posted 2 years ago
    This Bounty has been completed!
    @luquitared's review of @AnshMasand
    5.0
    Average Rating
    Communication 5/5, Quality 5/5, Timeliness 5/5
    Ansh was quick, communicated well, and paid great attention to my instructions. Would work with him again and highly recommend!

    Bounty Description

    Before reading the project requirements below, understand that you must also read the data annotation requirements for the data we'd like to collect when you are working on this project. Here are data annotation instructions:
    https://docs.google.com/document/d/1xtXSvZJHpVkbt4bVdK4IaXoGMlq1Wpk6huOM6EXhXY4/edit

    Here is the project description and requirements:

    Create a FastAPI-based backend service that interfaces with the Plaid API to authenticate bank accounts and fetch transaction data based on specified criteria. The retrieved data should be stored/downloaded in JSON or CSV format.

    Requirements:
    Backend Framework: Utilize FastAPI to create the endpoints required.

    Authentication endpoint:
    Integrate Plaid's "Link" for bank account authentication.
 Implement an endpoint to generate a login URL for Plaid's Link.
Upon successful authentication, store and return an authentication token to the client.

    Data Retrieval Endpoint:
    Provide an endpoint where the client can specify banks, accounts, and a date range to fetch transactions.
The endpoint should validate the input and authenticate the request using the provided token. 
Fetch data from Plaid, and return it to the client in JSON or CSV format.

    Accounts/balances
    Provide an endpoint for viewing accounts and balances.

    Account reporting:
    Provide endpoints that can retrieve the following information:

    • Net Worth: This is the total value of all your assets (what you own) minus your liabilities (what you owe). It provides a snapshot of your overall financial health. To calculate it:

    • Monthly Cash Flow: This is the difference between your monthly income and monthly expenses. Positive cash flow indicates you're earning more than you're spending, while negative cash flow means you're spending more than you earn.

    • Savings Rate: This represents the percentage of your income that you're saving. It's essential for setting and reaching financial goals, especially long-term ones like retirement.

    • Debt-to-Income Ratio (DTI): This ratio provides insight into how much of your monthly income is used to pay off debt. It's particularly important if you're considering taking on more debt or if you want to see how manageable your current debt load is.


    Test suggestions (please do more than these!):


    • Do multiple tests where you authenticate, get the token, and then perform some Plaid api call successfully.
    • Store mocked responses for endpoints inside the project. This way, when computing some account reports, you can write unit tests to ensure calculation was correct.
    • Passing invalid requests to endpoints, edge case inputs (like invalid dates) and ensure errors are handled

    You should shoot for as many tests as you can, At minimum, please create 15 tests.