Index: backend/src/main/java/com/trekr/backend/entity/discipline/CustomTrackingCategory.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/discipline/CustomTrackingCategory.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/discipline/CustomTrackingCategory.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,78 @@
+package com.trekr.backend.entity.discipline;
+
+import com.trekr.backend.entity.User;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
+
+@Entity
+@Table(name = "CUSTOM_TRACKING_CATEGORIES", schema = "trekr")
+public class CustomTrackingCategory {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "custom_tracking_id")
+    private Long customTrackingId;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    @Column(name = "name", nullable = false)
+    private String name;
+
+    @Column(name = "num_tasks")
+    private Integer numTasks;
+
+    @Column(name = "tasks")
+    private String tasks;
+
+    public CustomTrackingCategory() {
+    }
+
+    public Long getCustomTrackingId() {
+        return customTrackingId;
+    }
+
+    public void setCustomTrackingId(Long customTrackingId) {
+        this.customTrackingId = customTrackingId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getNumTasks() {
+        return numTasks;
+    }
+
+    public void setNumTasks(Integer numTasks) {
+        this.numTasks = numTasks;
+    }
+
+    public String getTasks() {
+        return tasks;
+    }
+
+    public void setTasks(String tasks) {
+        this.tasks = tasks;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/discipline/DailyCompletion.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/discipline/DailyCompletion.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/discipline/DailyCompletion.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,70 @@
+package com.trekr.backend.entity.discipline;
+
+import com.trekr.backend.entity.User;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Entity
+@Table(name = "DAILY_COMPLETION", schema = "trekr")
+public class DailyCompletion {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "daily_completion_id")
+    private Long dailyCompletionId;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    @Column(name = "date")
+    private LocalDate date;
+
+    @Column(name = "procent")
+    private BigDecimal procent;
+
+    public DailyCompletion() {
+    }
+
+    public Long getDailyCompletionId() {
+        return dailyCompletionId;
+    }
+
+    public void setDailyCompletionId(Long dailyCompletionId) {
+        this.dailyCompletionId = dailyCompletionId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public LocalDate getDate() {
+        return date;
+    }
+
+    public void setDate(LocalDate date) {
+        this.date = date;
+    }
+
+    public BigDecimal getProcent() {
+        return procent;
+    }
+
+    public void setProcent(BigDecimal procent) {
+        this.procent = procent;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/discipline/DisciplineUser.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/discipline/DisciplineUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/discipline/DisciplineUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,66 @@
+package com.trekr.backend.entity.discipline;
+
+import com.trekr.backend.entity.User;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.MapsId;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
+
+@Entity
+@Table(name = "DISCIPLINE_USERS", schema = "trekr")
+public class DisciplineUser {
+
+    @Id
+    @Column(name = "user_id")
+    private Long userId;
+
+    @OneToOne(fetch = FetchType.LAZY, optional = false)
+    @MapsId
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    @Column(name = "num_tasks")
+    private Integer numTasks;
+
+    @Column(name = "tasks")
+    private String tasks;
+
+    public DisciplineUser() {
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public Integer getNumTasks() {
+        return numTasks;
+    }
+
+    public void setNumTasks(Integer numTasks) {
+        this.numTasks = numTasks;
+    }
+
+    public String getTasks() {
+        return tasks;
+    }
+
+    public void setTasks(String tasks) {
+        this.tasks = tasks;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/discipline/Task.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/discipline/Task.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/discipline/Task.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,78 @@
+package com.trekr.backend.entity.discipline;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
+
+@Entity
+@Table(name = "TASKS", schema = "trekr")
+public class Task {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "task_id")
+    private Long taskId;
+
+    @Column(name = "name", nullable = false)
+    private String name;
+
+    @Column(name = "is_finished", nullable = false)
+    private boolean finished;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "discipline_user_id")
+    private DisciplineUser disciplineUser;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "custom_tracking_id")
+    private CustomTrackingCategory customTrackingCategory;
+
+    public Task() {
+    }
+
+    public Long getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(Long taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean isFinished() {
+        return finished;
+    }
+
+    public void setFinished(boolean finished) {
+        this.finished = finished;
+    }
+
+    public DisciplineUser getDisciplineUser() {
+        return disciplineUser;
+    }
+
+    public void setDisciplineUser(DisciplineUser disciplineUser) {
+        this.disciplineUser = disciplineUser;
+    }
+
+    public CustomTrackingCategory getCustomTrackingCategory() {
+        return customTrackingCategory;
+    }
+
+    public void setCustomTrackingCategory(CustomTrackingCategory customTrackingCategory) {
+        this.customTrackingCategory = customTrackingCategory;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/discipline/TaskDailyCompletion.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/discipline/TaskDailyCompletion.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/discipline/TaskDailyCompletion.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,54 @@
+package com.trekr.backend.entity.discipline;
+
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.MapsId;
+import jakarta.persistence.Table;
+
+@Entity
+@Table(name = "TASK_DAILY_COMPLETION", schema = "trekr")
+public class TaskDailyCompletion {
+
+    @EmbeddedId
+    private TaskDailyCompletionId id;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @MapsId("taskId")
+    @JoinColumn(name = "task_id")
+    private Task task;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @MapsId("dailyCompletionId")
+    @JoinColumn(name = "daily_completion_id")
+    private DailyCompletion dailyCompletion;
+
+    public TaskDailyCompletion() {
+    }
+
+    public TaskDailyCompletionId getId() {
+        return id;
+    }
+
+    public void setId(TaskDailyCompletionId id) {
+        this.id = id;
+    }
+
+    public Task getTask() {
+        return task;
+    }
+
+    public void setTask(Task task) {
+        this.task = task;
+    }
+
+    public DailyCompletion getDailyCompletion() {
+        return dailyCompletion;
+    }
+
+    public void setDailyCompletion(DailyCompletion dailyCompletion) {
+        this.dailyCompletion = dailyCompletion;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/discipline/TaskDailyCompletionId.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/discipline/TaskDailyCompletionId.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/discipline/TaskDailyCompletionId.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,56 @@
+package com.trekr.backend.entity.discipline;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+@Embeddable
+public class TaskDailyCompletionId implements Serializable {
+
+    @Column(name = "task_id")
+    private Long taskId;
+
+    @Column(name = "daily_completion_id")
+    private Long dailyCompletionId;
+
+    public TaskDailyCompletionId() {
+    }
+
+    public TaskDailyCompletionId(Long taskId, Long dailyCompletionId) {
+        this.taskId = taskId;
+        this.dailyCompletionId = dailyCompletionId;
+    }
+
+    public Long getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(Long taskId) {
+        this.taskId = taskId;
+    }
+
+    public Long getDailyCompletionId() {
+        return dailyCompletionId;
+    }
+
+    public void setDailyCompletionId(Long dailyCompletionId) {
+        this.dailyCompletionId = dailyCompletionId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
+        TaskDailyCompletionId that = (TaskDailyCompletionId) o;
+        return Objects.equals(taskId, that.taskId) && Objects.equals(dailyCompletionId, that.dailyCompletionId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(taskId, dailyCompletionId);
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/finance/FinanceUser.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/finance/FinanceUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/finance/FinanceUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,101 @@
+package com.trekr.backend.entity.finance;
+
+import com.trekr.backend.entity.User;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.MapsId;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+
+@Entity
+@Table(name = "FINANCE_USERS", schema = "trekr")
+public class FinanceUser {
+
+    @Id
+    @Column(name = "user_id")
+    private Long userId;
+
+    @OneToOne(fetch = FetchType.LAZY, optional = false)
+    @MapsId
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    @Column(name = "spending_budget")
+    private BigDecimal spendingBudget;
+
+    @Column(name = "saving_budget")
+    private BigDecimal savingBudget;
+
+    @Column(name = "investing_budget")
+    private BigDecimal investingBudget;
+
+    @Column(name = "donation_budget")
+    private BigDecimal donationBudget;
+
+    @Column(name = "credit")
+    private BigDecimal credit;
+
+    public FinanceUser() {
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public BigDecimal getSpendingBudget() {
+        return spendingBudget;
+    }
+
+    public void setSpendingBudget(BigDecimal spendingBudget) {
+        this.spendingBudget = spendingBudget;
+    }
+
+    public BigDecimal getSavingBudget() {
+        return savingBudget;
+    }
+
+    public void setSavingBudget(BigDecimal savingBudget) {
+        this.savingBudget = savingBudget;
+    }
+
+    public BigDecimal getInvestingBudget() {
+        return investingBudget;
+    }
+
+    public void setInvestingBudget(BigDecimal investingBudget) {
+        this.investingBudget = investingBudget;
+    }
+
+    public BigDecimal getDonationBudget() {
+        return donationBudget;
+    }
+
+    public void setDonationBudget(BigDecimal donationBudget) {
+        this.donationBudget = donationBudget;
+    }
+
+    public BigDecimal getCredit() {
+        return credit;
+    }
+
+    public void setCredit(BigDecimal credit) {
+        this.credit = credit;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/finance/Income.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/finance/Income.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/finance/Income.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,69 @@
+package com.trekr.backend.entity.finance;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Entity
+@Table(name = "INCOMES", schema = "trekr")
+public class Income {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "income_id")
+    private Long incomeId;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "user_id")
+    private FinanceUser financeUser;
+
+    @Column(name = "date", nullable = false)
+    private LocalDate date;
+
+    @Column(name = "amount", nullable = false)
+    private BigDecimal amount;
+
+    public Income() {
+    }
+
+    public Long getIncomeId() {
+        return incomeId;
+    }
+
+    public void setIncomeId(Long incomeId) {
+        this.incomeId = incomeId;
+    }
+
+    public FinanceUser getFinanceUser() {
+        return financeUser;
+    }
+
+    public void setFinanceUser(FinanceUser financeUser) {
+        this.financeUser = financeUser;
+    }
+
+    public LocalDate getDate() {
+        return date;
+    }
+
+    public void setDate(LocalDate date) {
+        this.date = date;
+    }
+
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/invest/Asset.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/invest/Asset.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/invest/Asset.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,91 @@
+package com.trekr.backend.entity.invest;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Entity
+@Table(name = "ASSETS", schema = "trekr")
+public class Asset {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "asset_id")
+    private Long assetId;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "user_id")
+    private InvestorUser investorUser;
+
+    @Column(name = "ticker_symbol", nullable = false)
+    private String tickerSymbol;
+
+    @Column(name = "buy_price")
+    private BigDecimal buyPrice;
+
+    @Column(name = "buy_date")
+    private LocalDate buyDate;
+
+    @Column(name = "quantity")
+    private BigDecimal quantity;
+
+    public Asset() {
+    }
+
+    public Long getAssetId() {
+        return assetId;
+    }
+
+    public void setAssetId(Long assetId) {
+        this.assetId = assetId;
+    }
+
+    public InvestorUser getInvestorUser() {
+        return investorUser;
+    }
+
+    public void setInvestorUser(InvestorUser investorUser) {
+        this.investorUser = investorUser;
+    }
+
+    public String getTickerSymbol() {
+        return tickerSymbol;
+    }
+
+    public void setTickerSymbol(String tickerSymbol) {
+        this.tickerSymbol = tickerSymbol;
+    }
+
+    public BigDecimal getBuyPrice() {
+        return buyPrice;
+    }
+
+    public void setBuyPrice(BigDecimal buyPrice) {
+        this.buyPrice = buyPrice;
+    }
+
+    public LocalDate getBuyDate() {
+        return buyDate;
+    }
+
+    public void setBuyDate(LocalDate buyDate) {
+        this.buyDate = buyDate;
+    }
+
+    public BigDecimal getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(BigDecimal quantity) {
+        this.quantity = quantity;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/invest/InvestorUser.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/invest/InvestorUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/invest/InvestorUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,42 @@
+package com.trekr.backend.entity.invest;
+
+import com.trekr.backend.entity.User;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.MapsId;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
+
+@Entity
+@Table(name = "INVESTOR_USERS", schema = "trekr")
+public class InvestorUser {
+
+    @Id
+    private Long userId;
+
+    @OneToOne(fetch = FetchType.LAZY, optional = false)
+    @MapsId
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    public InvestorUser() {
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/training/TrainingSession.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/training/TrainingSession.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/training/TrainingSession.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,104 @@
+package com.trekr.backend.entity.training;
+
+import com.trekr.backend.entity.weight.WeightUser;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Entity
+@Table(name = "TRAINING_SESSIONS", schema = "trekr")
+public class TrainingSession {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "training_id")
+    private Long trainingId;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "training_user_id")
+    private TrainingUser trainingUser;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "weight_user_id")
+    private WeightUser weightUser;
+
+    @Column(name = "duration")
+    private BigDecimal duration;
+
+    @Column(name = "calories")
+    private BigDecimal calories;
+
+    @Column(name = "date")
+    private LocalDate date;
+
+    @Column(name = "type")
+    private String type;
+
+    public TrainingSession() {
+    }
+
+    public Long getTrainingId() {
+        return trainingId;
+    }
+
+    public void setTrainingId(Long trainingId) {
+        this.trainingId = trainingId;
+    }
+
+    public TrainingUser getTrainingUser() {
+        return trainingUser;
+    }
+
+    public void setTrainingUser(TrainingUser trainingUser) {
+        this.trainingUser = trainingUser;
+    }
+
+    public WeightUser getWeightUser() {
+        return weightUser;
+    }
+
+    public void setWeightUser(WeightUser weightUser) {
+        this.weightUser = weightUser;
+    }
+
+    public BigDecimal getDuration() {
+        return duration;
+    }
+
+    public void setDuration(BigDecimal duration) {
+        this.duration = duration;
+    }
+
+    public BigDecimal getCalories() {
+        return calories;
+    }
+
+    public void setCalories(BigDecimal calories) {
+        this.calories = calories;
+    }
+
+    public LocalDate getDate() {
+        return date;
+    }
+
+    public void setDate(LocalDate date) {
+        this.date = date;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/training/TrainingUser.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/training/TrainingUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/training/TrainingUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,79 @@
+package com.trekr.backend.entity.training;
+
+import com.trekr.backend.entity.User;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.MapsId;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+
+@Entity
+@Table(name = "TRAINING_USERS", schema = "trekr")
+public class TrainingUser {
+
+    @Id
+    @Column(name = "user_id")
+    private Long userId;
+
+    @OneToOne(fetch = FetchType.LAZY, optional = false)
+    @MapsId
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    @Column(name = "gender")
+    private String gender;
+
+    @Column(name = "age")
+    private Integer age;
+
+    @Column(name = "weight")
+    private BigDecimal weight;
+
+    public TrainingUser() {
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
+
+    public Integer getAge() {
+        return age;
+    }
+
+    public void setAge(Integer age) {
+        this.age = age;
+    }
+
+    public BigDecimal getWeight() {
+        return weight;
+    }
+
+    public void setWeight(BigDecimal weight) {
+        this.weight = weight;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/weight/DailyIntake.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/weight/DailyIntake.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/weight/DailyIntake.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,69 @@
+package com.trekr.backend.entity.weight;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Entity
+@Table(name = "DAILY_INTAKES", schema = "trekr")
+public class DailyIntake {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "daily_intake_id")
+    private Long dailyIntakeId;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "user_id")
+    private WeightUser weightUser;
+
+    @Column(name = "calories")
+    private BigDecimal calories;
+
+    @Column(name = "date")
+    private LocalDate date;
+
+    public DailyIntake() {
+    }
+
+    public Long getDailyIntakeId() {
+        return dailyIntakeId;
+    }
+
+    public void setDailyIntakeId(Long dailyIntakeId) {
+        this.dailyIntakeId = dailyIntakeId;
+    }
+
+    public WeightUser getWeightUser() {
+        return weightUser;
+    }
+
+    public void setWeightUser(WeightUser weightUser) {
+        this.weightUser = weightUser;
+    }
+
+    public BigDecimal getCalories() {
+        return calories;
+    }
+
+    public void setCalories(BigDecimal calories) {
+        this.calories = calories;
+    }
+
+    public LocalDate getDate() {
+        return date;
+    }
+
+    public void setDate(LocalDate date) {
+        this.date = date;
+    }
+}
Index: backend/src/main/java/com/trekr/backend/entity/weight/WeightUser.java
===================================================================
--- backend/src/main/java/com/trekr/backend/entity/weight/WeightUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
+++ backend/src/main/java/com/trekr/backend/entity/weight/WeightUser.java	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -0,0 +1,90 @@
+package com.trekr.backend.entity.weight;
+
+import com.trekr.backend.entity.User;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.MapsId;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
+
+import java.math.BigDecimal;
+
+@Entity
+@Table(name = "WEIGHT_USERS", schema = "trekr")
+public class WeightUser {
+
+    @Id
+    @Column(name = "user_id")
+    private Long userId;
+
+    @OneToOne(fetch = FetchType.LAZY, optional = false)
+    @MapsId
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    @Column(name = "weight")
+    private BigDecimal weight;
+
+    @Column(name = "height")
+    private BigDecimal height;
+
+    @Column(name = "goal_weight")
+    private BigDecimal goalWeight;
+
+    @Column(name = "goal_calories")
+    private BigDecimal goalCalories;
+
+    public WeightUser() {
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public BigDecimal getWeight() {
+        return weight;
+    }
+
+    public void setWeight(BigDecimal weight) {
+        this.weight = weight;
+    }
+
+    public BigDecimal getHeight() {
+        return height;
+    }
+
+    public void setHeight(BigDecimal height) {
+        this.height = height;
+    }
+
+    public BigDecimal getGoalWeight() {
+        return goalWeight;
+    }
+
+    public void setGoalWeight(BigDecimal goalWeight) {
+        this.goalWeight = goalWeight;
+    }
+
+    public BigDecimal getGoalCalories() {
+        return goalCalories;
+    }
+
+    public void setGoalCalories(BigDecimal goalCalories) {
+        this.goalCalories = goalCalories;
+    }
+}
Index: db-scripts/ddl.sql
===================================================================
--- db-scripts/ddl.sql	(revision 3ebe47cce61b3bfc1dee2566f7475e378374591e)
+++ db-scripts/ddl.sql	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -37,5 +37,5 @@
 
 CREATE TABLE INCOMES (
-    income_id BIGINT PRIMARY KEY,
+    income_id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     user_id BIGINT
         REFERENCES FINANCE_USERS(user_id) ON DELETE CASCADE,
@@ -62,5 +62,5 @@
 
 CREATE TABLE DAILY_INTAKES (
-    daily_intake_id BIGINT PRIMARY KEY,
+    daily_intake_id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     user_id BIGINT
         REFERENCES WEIGHT_USERS(user_id) ON DELETE CASCADE,
@@ -70,5 +70,5 @@
 
 CREATE TABLE TRAINING_SESSIONS (
-    training_id BIGINT PRIMARY KEY,
+    training_id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     training_user_id BIGINT
         REFERENCES TRAINING_USERS(user_id) ON DELETE CASCADE,
@@ -89,5 +89,5 @@
 
 CREATE TABLE CUSTOM_TRACKING_CATEGORIES (
-    custom_tracking_id BIGINT PRIMARY KEY,
+    custom_tracking_id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     user_id BIGINT
         REFERENCES USERS(user_id) ON DELETE CASCADE,
@@ -98,5 +98,5 @@
 
 CREATE TABLE TASKS (
-    task_id BIGINT PRIMARY KEY,
+    task_id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     name TEXT NOT NULL,
     is_finished BOOLEAN NOT NULL DEFAULT FALSE,
@@ -118,5 +118,5 @@
 
 CREATE TABLE DAILY_COMPLETION (
-    daily_completion_id BIGINT PRIMARY KEY,
+    daily_completion_id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     user_id BIGINT
         REFERENCES USERS(user_id) ON DELETE CASCADE,
@@ -141,5 +141,5 @@
 
 CREATE TABLE ASSETS (
-    asset_id BIGINT PRIMARY KEY,
+    asset_id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     user_id BIGINT
         REFERENCES INVESTOR_USERS(user_id) ON DELETE CASCADE,
Index: db-scripts/dml.sql
===================================================================
--- db-scripts/dml.sql	(revision 3ebe47cce61b3bfc1dee2566f7475e378374591e)
+++ db-scripts/dml.sql	(revision 86158850756b7b97df263e784aecbbae73d37b17)
@@ -109,4 +109,10 @@
 (39, 25, '2026-03-28', 6050);
 
+-- If INCOMES.income_id is an IDENTITY column, advance its sequence past dummy ids.
+SELECT setval(
+	pg_get_serial_sequence('trekr.incomes', 'income_id'),
+	(SELECT COALESCE(MAX(income_id), 0) FROM trekr.incomes)
+);
+
 INSERT INTO TRAINING_USERS (user_id, gender, age, weight) VALUES
 (1, 'Male', 21, 73),
@@ -185,4 +191,10 @@
 (30, 20, 2300, '2026-02-10');
 
+-- If DAILY_INTAKES.daily_intake_id is an IDENTITY column, advance its sequence past dummy ids.
+SELECT setval(
+	pg_get_serial_sequence('trekr.daily_intakes', 'daily_intake_id'),
+	(SELECT COALESCE(MAX(daily_intake_id), 0) FROM trekr.daily_intakes)
+);
+
 INSERT INTO TRAINING_SESSIONS (training_id, training_user_id, weight_user_id, duration, calories, date, type) VALUES
 (1, 1, 1, 60, 500, '2026-02-01', 'Running'),
@@ -211,4 +223,10 @@
 (24, 17, 17, 40, 320, '2026-02-13', 'Strength');
 
+-- If TRAINING_SESSIONS.training_id is an IDENTITY column, advance its sequence past dummy ids.
+SELECT setval(
+	pg_get_serial_sequence('trekr.training_sessions', 'training_id'),
+	(SELECT COALESCE(MAX(training_id), 0) FROM trekr.training_sessions)
+);
+
 INSERT INTO DISCIPLINE_USERS (user_id, num_tasks, tasks) VALUES
 (1, 2, '["Morning Run","Read Book"]'),
@@ -244,4 +262,10 @@
 (14, 19, 'Gym Program', 3, '["Squat","Bench","Deadlift"]'),
 (15, 20, 'Exam Prep', 3, '["Practice","Mock","Review"]');
+
+-- If CUSTOM_TRACKING_CATEGORIES.custom_tracking_id is an IDENTITY column, advance its sequence past dummy ids.
+SELECT setval(
+	pg_get_serial_sequence('trekr.custom_tracking_categories', 'custom_tracking_id'),
+	(SELECT COALESCE(MAX(custom_tracking_id), 0) FROM trekr.custom_tracking_categories)
+);
 
 INSERT INTO TASKS (task_id, name, is_finished, discipline_user_id, custom_tracking_id) VALUES
@@ -307,4 +331,10 @@
 (60, 'Review Exam', FALSE, NULL, 15);
 
+-- If TASKS.task_id is an IDENTITY column, advance its sequence past dummy ids.
+SELECT setval(
+	pg_get_serial_sequence('trekr.tasks', 'task_id'),
+	(SELECT COALESCE(MAX(task_id), 0) FROM trekr.tasks)
+);
+
 INSERT INTO DAILY_COMPLETION (daily_completion_id, user_id, date, procent) VALUES
 (1, 1, '2026-02-01', 100),
@@ -338,4 +368,10 @@
 (29, 20, '2026-02-09', 33),
 (30, 20, '2026-02-10', 66);
+
+-- If DAILY_COMPLETION.daily_completion_id is an IDENTITY column, advance its sequence past dummy ids.
+SELECT setval(
+	pg_get_serial_sequence('trekr.daily_completion', 'daily_completion_id'),
+	(SELECT COALESCE(MAX(daily_completion_id), 0) FROM trekr.daily_completion)
+);
 
 INSERT INTO TASK_DAILY_COMPLETION (task_id, daily_completion_id) VALUES
@@ -393,2 +429,8 @@
 (16, 14, 'SPY', 485, '2026-02-09', 1.5),
 (17, 15, 'NVDA', 640, '2026-02-10', 0.9);
+
+-- If ASSETS.asset_id is an IDENTITY column, advance its sequence past dummy ids.
+SELECT setval(
+	pg_get_serial_sequence('trekr.assets', 'asset_id'),
+	(SELECT COALESCE(MAX(asset_id), 0) FROM trekr.assets)
+);
