Index: iknow-api/Controllers/UserController.cs
===================================================================
--- iknow-api/Controllers/UserController.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/Controllers/UserController.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -26,5 +26,5 @@
                 var userData = await _userService.GetUserData(token);
                 if (userData == null) return Ok(new { info = "can't get info" });
-                return Ok(new { Token = userData });
+                return Ok(new { User = userData });
             }
             return null;
Index: iknow-api/DTOs/UserDTO.cs
===================================================================
--- iknow-api/DTOs/UserDTO.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/DTOs/UserDTO.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -22,4 +22,15 @@
         public DateTime Bday { get; set; }
         public UserRole Role { get; set; }
+        public float gpa { get; set; }
+        public type tip { get; set; }
+        public string city { get; set; } = string.Empty;
+        public string address { get; set; } = string.Empty;
+        public string municipality { get; set; } = string.Empty;
+        public string phoneNumber { get; set; } = string.Empty;
+        public string microsoftEmail { get; set; } = string.Empty;
+        public int enrollmentYear { get; set; }
+        public quota quotaType { get; set; }
+        public major majorType { get; set; }
+
     }
 
@@ -44,3 +55,15 @@
         Student
     }
+    public enum type
+    {
+        strucen, gimnazija
+    }
+    public enum quota
+    {
+        drzavna, privatna, stipendija
+    }
+    public enum major
+    {
+        SIIS, PIT, KN, KI, IMB, IE, SSP, SEIS
+    }
 }
Index: iknow-api/Migrations/20251027191028_dbRelations.Designer.cs
===================================================================
--- iknow-api/Migrations/20251027191028_dbRelations.Designer.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
+++ iknow-api/Migrations/20251027191028_dbRelations.Designer.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -0,0 +1,193 @@
+﻿// <auto-generated />
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using iknow_api.Data;
+
+#nullable disable
+
+namespace iknow_api.Migrations
+{
+    [DbContext(typeof(AppDbContext))]
+    [Migration("20251027191028_dbRelations")]
+    partial class dbRelations
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "9.0.10")
+                .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+            modelBuilder.Entity("iknow_api.Models.ContactInfo", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.Property<string>("address")
+                        .HasColumnType("text");
+
+                    b.Property<string>("city")
+                        .HasColumnType("text");
+
+                    b.Property<string>("microsoftEmail")
+                        .HasColumnType("text");
+
+                    b.Property<string>("municipality")
+                        .HasColumnType("text");
+
+                    b.Property<string>("phoneNumber")
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("ContactInfo");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("enrollmentYear")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("major")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("EnrollmentInfo");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.HighSchool", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<float>("GPA")
+                        .HasColumnType("real");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("tip")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("HighSchool");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.User", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("Bday")
+                        .HasColumnType("timestamp with time zone");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone");
+
+                    b.Property<string>("Email")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Index")
+                        .HasColumnType("text");
+
+                    b.Property<string>("Name")
+                        .HasColumnType("text");
+
+                    b.Property<string>("PasswordHash")
+                        .HasColumnType("text");
+
+                    b.Property<int>("Role")
+                        .HasColumnType("integer");
+
+                    b.Property<string>("Surname")
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("User");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.ContactInfo", b =>
+                {
+                    b.HasOne("iknow_api.Models.User", "User")
+                        .WithOne("ContactInfo")
+                        .HasForeignKey("iknow_api.Models.ContactInfo", "UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
+                {
+                    b.HasOne("iknow_api.Models.User", "User")
+                        .WithOne("EnrollmentInfo")
+                        .HasForeignKey("iknow_api.Models.EnrollmentInfo", "UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.HighSchool", b =>
+                {
+                    b.HasOne("iknow_api.Models.User", "User")
+                        .WithOne("HighSchool")
+                        .HasForeignKey("iknow_api.Models.HighSchool", "UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("iknow_api.Models.User", b =>
+                {
+                    b.Navigation("ContactInfo");
+
+                    b.Navigation("EnrollmentInfo");
+
+                    b.Navigation("HighSchool");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
Index: iknow-api/Migrations/20251027191028_dbRelations.cs
===================================================================
--- iknow-api/Migrations/20251027191028_dbRelations.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
+++ iknow-api/Migrations/20251027191028_dbRelations.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -0,0 +1,75 @@
+﻿using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace iknow_api.Migrations
+{
+    /// <inheritdoc />
+    public partial class dbRelations : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropIndex(
+                name: "IX_HighSchool_UserId",
+                table: "HighSchool");
+
+            migrationBuilder.DropIndex(
+                name: "IX_EnrollmentInfo_UserId",
+                table: "EnrollmentInfo");
+
+            migrationBuilder.DropIndex(
+                name: "IX_ContactInfo_UserId",
+                table: "ContactInfo");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_HighSchool_UserId",
+                table: "HighSchool",
+                column: "UserId",
+                unique: true);
+
+            migrationBuilder.CreateIndex(
+                name: "IX_EnrollmentInfo_UserId",
+                table: "EnrollmentInfo",
+                column: "UserId",
+                unique: true);
+
+            migrationBuilder.CreateIndex(
+                name: "IX_ContactInfo_UserId",
+                table: "ContactInfo",
+                column: "UserId",
+                unique: true);
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropIndex(
+                name: "IX_HighSchool_UserId",
+                table: "HighSchool");
+
+            migrationBuilder.DropIndex(
+                name: "IX_EnrollmentInfo_UserId",
+                table: "EnrollmentInfo");
+
+            migrationBuilder.DropIndex(
+                name: "IX_ContactInfo_UserId",
+                table: "ContactInfo");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_HighSchool_UserId",
+                table: "HighSchool",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_EnrollmentInfo_UserId",
+                table: "EnrollmentInfo",
+                column: "UserId");
+
+            migrationBuilder.CreateIndex(
+                name: "IX_ContactInfo_UserId",
+                table: "ContactInfo",
+                column: "UserId");
+        }
+    }
+}
Index: iknow-api/Migrations/AppDbContextModelSnapshot.cs
===================================================================
--- iknow-api/Migrations/AppDbContextModelSnapshot.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/Migrations/AppDbContextModelSnapshot.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -51,5 +51,6 @@
                     b.HasKey("Id");
 
-                    b.HasIndex("UserId");
+                    b.HasIndex("UserId")
+                        .IsUnique();
 
                     b.ToTable("ContactInfo");
@@ -75,5 +76,6 @@
                     b.HasKey("Id");
 
-                    b.HasIndex("UserId");
+                    b.HasIndex("UserId")
+                        .IsUnique();
 
                     b.ToTable("EnrollmentInfo");
@@ -99,5 +101,6 @@
                     b.HasKey("Id");
 
-                    b.HasIndex("UserId");
+                    b.HasIndex("UserId")
+                        .IsUnique();
 
                     b.ToTable("HighSchool");
@@ -144,6 +147,6 @@
                 {
                     b.HasOne("iknow_api.Models.User", "User")
-                        .WithMany()
-                        .HasForeignKey("UserId")
+                        .WithOne("ContactInfo")
+                        .HasForeignKey("iknow_api.Models.ContactInfo", "UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
@@ -155,6 +158,6 @@
                 {
                     b.HasOne("iknow_api.Models.User", "User")
-                        .WithMany()
-                        .HasForeignKey("UserId")
+                        .WithOne("EnrollmentInfo")
+                        .HasForeignKey("iknow_api.Models.EnrollmentInfo", "UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
@@ -166,6 +169,6 @@
                 {
                     b.HasOne("iknow_api.Models.User", "User")
-                        .WithMany()
-                        .HasForeignKey("UserId")
+                        .WithOne("HighSchool")
+                        .HasForeignKey("iknow_api.Models.HighSchool", "UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
@@ -173,4 +176,13 @@
                     b.Navigation("User");
                 });
+
+            modelBuilder.Entity("iknow_api.Models.User", b =>
+                {
+                    b.Navigation("ContactInfo");
+
+                    b.Navigation("EnrollmentInfo");
+
+                    b.Navigation("HighSchool");
+                });
 #pragma warning restore 612, 618
         }
Index: iknow-api/Models/User.cs
===================================================================
--- iknow-api/Models/User.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/Models/User.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -21,4 +21,8 @@
         public DateTime CreatedAt { get; set; }
         public UserRole Role { get; set; }
+        public HighSchool? HighSchool { get; set; }
+        public ContactInfo? ContactInfo { get; set; }
+        public EnrollmentInfo? EnrollmentInfo { get; set; }
+
     }
 }
Index: iknow-api/Program.cs
===================================================================
--- iknow-api/Program.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/Program.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -1,3 +1,4 @@
 using System.Text;
+using System.Text.Json.Serialization;
 using iknow_api.Data;
 using iknow_api.Repositories;
@@ -33,5 +34,9 @@
 });
 // Add services to the container.
-builder.Services.AddControllers();
+builder.Services.AddControllers()
+    .AddJsonOptions(options =>
+    {
+        options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles;
+    });
 builder.Services.AddOpenApi();
 
Index: iknow-api/Repository/Implementations/UserRepository.cs
===================================================================
--- iknow-api/Repository/Implementations/UserRepository.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/Repository/Implementations/UserRepository.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -25,7 +25,11 @@
         }
         
-        public async Task<User> GetUserByIdAsync(int id)
+        public async Task<User?> GetUserByIdAsync(int id)
         {
-            return await _context.User.FirstOrDefaultAsync(u => u.Id == id);
+            return await _context.User
+                .Include(u => u.ContactInfo)
+                .Include(u => u.EnrollmentInfo)
+                .Include(u => u.HighSchool)
+                .FirstOrDefaultAsync(u => u.Id == id);
         }
 
@@ -36,4 +40,19 @@
             await _context.SaveChangesAsync();
         }
+        public async Task AddContactAsync(ContactInfo contactInfo)
+        {
+            _context.ContactInfo.Add(contactInfo);
+            await _context.SaveChangesAsync();
+        }
+        public async Task AddEnrollmentAsync(EnrollmentInfo enrollment)
+        {
+            _context.EnrollmentInfo.Add(enrollment);
+            await _context.SaveChangesAsync();
+        }   
+        public async Task AddHighSchoolAsync(HighSchool highSchool)
+        {
+            _context.HighSchool.Add(highSchool);
+            await _context.SaveChangesAsync();
+        }       
 
         public async Task<int> GetUsersCountAsync()
Index: iknow-api/Repository/Interface/IUserRepository.cs
===================================================================
--- iknow-api/Repository/Interface/IUserRepository.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/Repository/Interface/IUserRepository.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -7,4 +7,7 @@
         Task<User?> GetUserByUsernameAsync(string username);
         Task AddUserAsync(User user);
+        Task AddContactAsync(ContactInfo contactInfo);
+        Task AddEnrollmentAsync(EnrollmentInfo enrollment);
+        Task AddHighSchoolAsync(HighSchool highSchool);
         Task<int> GetUsersCountAsync();
         Task<User> GetUserByIdAsync(int id);
Index: iknow-api/Services/Implementations/AuthService.cs
===================================================================
--- iknow-api/Services/Implementations/AuthService.cs	(revision cab02ada65fcd8feda776e5afc86a355f29c7f96)
+++ iknow-api/Services/Implementations/AuthService.cs	(revision b38c39caa5327b5c3dffc7da82ccae5b655835fa)
@@ -40,4 +40,29 @@
 
             await _userRepository.AddUserAsync(user);
+            int userId = user.Id;
+            var contactInfo = new ContactInfo
+            {
+                UserId = userId,
+                city = registerDto.city,
+                address = registerDto.address,
+                municipality = registerDto.municipality,
+                phoneNumber = registerDto.phoneNumber,
+                microsoftEmail = registerDto.microsoftEmail
+            };
+            await _userRepository.AddContactAsync(contactInfo);
+            var enrollmentInfo = new EnrollmentInfo
+            {
+                UserId = userId,
+                enrollmentYear = registerDto.enrollmentYear,
+                quota = (Models.quota)registerDto.quotaType,
+                major = (Models.major)registerDto.majorType
+            };
+            await _userRepository.AddEnrollmentAsync(enrollmentInfo);
+            await _userRepository.AddHighSchoolAsync(new HighSchool
+            {
+                UserId = userId,
+                GPA = registerDto.gpa,
+                tip = (Models.type)registerDto.tip
+            });
             return true;
         }
