[[Image(er_diagram_final.2.png, 1000px)]]
----
== Податочни барања==
=== Ентитети ===
1. **User** – ентитет кој чува општи информации за сите корисници
- user_id (bigint)
- email (text, not null)
- username (text, not null)
- password (text, not null)
2. **Finance user** – ентитет кој чува финансиски податоци за корисникот
- user_id* (bigint)
- spending_budget (numeric)
- saving_budget (numeric)
- investing_budget (numeric)
- donation_budget (numeric)
- credit (numeric)
3. **Income** – ентитет кој чува податоци за месечниот приход
- income_id (bigint)
- user_id* (bigint)
- date (date, not null)
- amount (numeric, not null)
4. **Training user** – ентитет кој чува податоци за тренинг корисниците
- user_id* (bigint)
- gender (text)
- age (integer)
- weight (numeric)
5. **Training session** – ентитет кој чува податоци за тренинг сесиите
- training_id* (bigint)
- training_user_id (bigint)
- weight_user_id (bigint)
- duration (numeric)
- calories (numeric)
- date (date)
- type (text)
6. **Weight user** – ентитет кој чува податоци за следење на тежина и калории
- user_id* (bigint)
- weight (numeric)
- height (numeric)
- goal_weight (numeric)
- goal_calories (numeric)
7. **Daily intake** – ентитет за дневен внес на калории
- daily_intake_id* (bigint)
- user_id (bigint)
- calories (numeric)
- date (date)
8. **Discipline user** – ентитет кој чува податоци за дисциплински навики на корисникот
- user_id* (bigint)
- num_tasks (integer)
- tasks (text)
9. **Task** – ентитет за индивидуални задачи
- task_id* (bigint)
- is_finished (boolean)
- discipline_user_id (bigint)
- custom_tracking_id (bigint)
- name (text, not null)
10. **Daily completion** – ентитет што бележи дневни извршувања на задачи
- daily_completion_id* (bigint)
- user_id (bigint)
- date (date)
- procent (numeric)
11. **Investor user** – ентитет кој чува податоци за инвеститорски корисници
- user_id* (bigint)
12. **Asset** – ентитет што чува податоци за средства во кои корисникот инвестира
- asset_id* (bigint)
- user_id (bigint)
- ticker_symbol (text, not null)
- buy_price (numeric)
- buy_date (date)
- quantity (numeric)
13. **Custom tracking category** – ентитет што претставува кориснички дефинирана категорија за следење
- custom_tracking_id* (bigint)
- user_id (bigint)
- name (text, not null)
- num_tasks (integer)
- tasks (text)
=== Релации ===
1. **earned_monthly** (Finance user ↔ Income, 1:N)
Финансискиот корисник има повеќе записи за приход по месеци.
2. **train** (Training user ↔ Training session, 1:N)
Тренинг корисникот може да има повеќе тренинг сесии.
3. **calories_spent** (Training session ↔ Weight user, N:1)
Секоја тренинг сесија му припишува изгорени калории на корисникот за тежина.
4. **consumes** (Weight user ↔ Daily intake, 1:N)
Корисникот може да внесува дневни калории.
5. **contains** (Discipline user ↔ Task, 1:N)
Дисциплински корисник може да има повеќе задачи.
6. **finish** (Task ↔ Daily completion, N:M)
Задачите може да бидат извршени дневно и се бележи процент.
7. **owns** (Investor user ↔ Asset, 1:N)
Инвеститорскиот корисник може да поседува повеќе средства.
8. **categorizes** (Custom tracking category ↔ Task, 1:N)
Секој категорија на задачи може да содржи повеќе задачи
9. **creates** (User ↔ Custom Tracking Category, 1:N)
Еден User може да креира повеќе custom tracking категории
Секоја custom tracking категорија припаѓа на точно еден User
10. **completes** (User ↔ Daily completion (1:N))
Eден user има многу дневни completion записи.
== Историјат
[[html(Верзија 1 - Почетна верзија)]]
[[html(Верзија 2 - Ер дијаграм после нормализација)]]