Personal Finance App Backend

Personal Finance App Technical Design Diagram
Backend (boxed in white)

💾 Source Code

* the source code is not a working solution but a reference to help you get started

🧩 Components

* Please note that Heroku is no longer free starting 11/28/2022. You can use Google Firebase as a free alternative.

🛠 Development

* This guide assumes an intermediate level of JavaScript and coding in general

  • Use Node with Express for developing the backend.

  • Implement REST APIs for your expenses and balances.

    • GET/POST/PUT/DELETE Expense API

    • GET/POST/PUT/DELETE Balance API

  • Use their official node client Plaid-Node or implement your own.

  • Use MongooseJS for communicating with MongoDB.

  • Create at least two tables: transactions and balances.

  • Design your background job to periodically request financial data from Plaid and store them in your database.

  • Run the backend server and jobs on Google Firebase.

    Bonus

  • Implement authentication and authorization (aka AuthN & AuthZ).

  • Design idempotent APIs.

  • Implement Unit Tests using Jest.

▶️ YouTube Tutorials

🚀 Utilities

🛸 Resources

Next
Next

Personal Finance App Frontend