Skip to content

Database

Daniel Bergeron edited this page Feb 26, 2024 · 1 revision

Schemas

Our database is broken down into several collections to track information for he widgets. This database will also pull from plaid to keep its' user information up to date. The following information will pertain to the schemas each collection follows.

User

The user collection will store all information pertaining to the user this collections schema can be expanded to hold more user specific information. This will also store the users location to. This will help user to keep track of regional tax.

Income

This will contain information pertaining to the users monthly income. It will hold two decimal numbers. One pertaining to Net income(before tax) and income(after tax). Entries will be added to this collection monthly. It can be used to calculate yearly income.

Costs

Recurring Collection

This will be used to keep track of the costs a user experiences regularly. It will have a name describing the expense. The amount will be a decimal price. The period will be when it is charged. If the charge is yearly it will be broken down into it's monthly cost for storage. These costs will always appear on the dashboard so long as they exist.

One Time Costs

Will hold costs for one time transactions. It stores the name and the amount of the cost. As well as the date. This transaction will only appear on the dashboard if it exists in the domain, that the dashboard is searching for.

Accounts

The collection holds bank & investment accounts. Stores the amount in the account along with the name. Stores account type which will designate which widget it goes to. We will want to add a date field each month will have a saving goals for these accounts, subtracting the previous month by the current month will tell the user where the savings account.

We will likely have to refactor this collection for better tracking

NOTE:

Need a way to store deposits and to what accounts to see if they are reaching the budgeting goals

Clone this wiki locally