We have a static site with a sign up form, this is ready already.
We need to add to it that when the form is filled out, with ajax, a request is made to our API, store the info into a MongoDB database.
Then, once the user is stored, send an email via the mailchimp nodejs sdk to the user with an activation link, where they can also set their password.
After setting their password they will be redirected to a link that gets generated by docusign, I have the code setup for that.
When the docusign is completed the user returns to a return url we passed along, where they will then use the plaid API to connect their bank account and download transactions and balance info.
We will at that point pass along a webhook endpoint that we will have to setup to plaid, to which they will be posting any transactions, several times a day. When that API gets triggered we will need to load the updated transactions and store them also in the database.
We will also at a scheduled time 11pm everyday hit the accounts and check their balances and update them in our DB. We will also store an estimated balance based on transactions we have in our system, since the last balance update, so that we can estimate their balance even without having to continuously do a balance check.
We need to store every balance and estimated balance with the timestamp that we figured this info out, so that we can see an historical reference of the account balances.
In your proposal add "I read and understood your requirements 74498" to confirm you read all this.
Important to ensure that each transaction will be in the DB only once
In the user account, when they login (auth is already setup), we will have their current balance, estiamted balance and any pending balances and a list of their transactions for each connected account and sub account.
We need to setup an admin role and account, which will be able to see a list of users and when clicking on a user get the same info the user can see in their account as well as see a copy of the docusign contract.