[[Image(FinalErDiagram.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 записи.