Index: iknow-api/Controllers/UsersControllers.cs
===================================================================
--- iknow-api/Controllers/UsersControllers.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Controllers/UsersControllers.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,30 @@
+using iknow_api.Data;
+using iknow_api.Models;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+
+
+namespace iknow_api.Controllers
+{
+    [ApiController]
+    [Route("user")]
+    public class UsersController : ControllerBase
+    {
+        private readonly AppDbContext _context;
+        private readonly IConfiguration _configuration;
+
+        public UsersController(AppDbContext context, IConfiguration configuration)
+        {
+            _context = context;
+            _configuration = configuration;
+        }
+
+        [HttpPost("add")]
+        public async Task<IActionResult> Add([FromBody] JsonContent body)
+        {
+            
+            return null;
+        }
+
+    }
+}
Index: iknow-api/Controllers/WeatherForecastController.cs
===================================================================
--- iknow-api/Controllers/WeatherForecastController.cs	(revision c11d3a3e5ecfc9bc60609c1fae1e70e64b8e1e0a)
+++ 	(revision )
@@ -1,33 +1,0 @@
-using Microsoft.AspNetCore.Mvc;
-
-namespace iknow_api.Controllers
-{
-    [ApiController]
-    [Route("[controller]")]
-    public class WeatherForecastController : ControllerBase
-    {
-        private static readonly string[] Summaries = new[]
-        {
-            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
-        };
-
-        private readonly ILogger<WeatherForecastController> _logger;
-
-        public WeatherForecastController(ILogger<WeatherForecastController> logger)
-        {
-            _logger = logger;
-        }
-
-        [HttpGet(Name = "GetWeatherForecast")]
-        public IEnumerable<WeatherForecast> Get()
-        {
-            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
-            {
-                Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
-                TemperatureC = Random.Shared.Next(-20, 55),
-                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
-            })
-            .ToArray();
-        }
-    }
-}
Index: iknow-api/Data/AppDbContext.cs
===================================================================
--- iknow-api/Data/AppDbContext.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Data/AppDbContext.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,10 @@
+using Microsoft.EntityFrameworkCore;
+using iknow_api.Models;
+
+public class AppDbContext : DbContext
+{
+    public AppDbContext(DbContextOptions<AppDbContext> options)
+        : base(options) { }
+
+    public DbSet<Users> Users { get; set; }
+}
Index: iknow-api/Data/AppDbContextFactory.cs
===================================================================
--- iknow-api/Data/AppDbContextFactory.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Data/AppDbContextFactory.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,21 @@
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Design;
+
+namespace iknow_api.Data
+{
+    public class AppDbContextFactory : IDesignTimeDbContextFactory<AppDbContext>
+    {
+        public AppDbContext CreateDbContext(string[] args)
+        {
+            var configuration = new ConfigurationBuilder()
+                .SetBasePath(Directory.GetCurrentDirectory())
+                .AddJsonFile("appsettings.json")
+                .Build();
+
+            var optionsBuilder = new DbContextOptionsBuilder<AppDbContext>();
+            optionsBuilder.UseNpgsql(configuration.GetConnectionString("DefaultConnection"));
+
+            return new AppDbContext(optionsBuilder.Options);
+        }
+    }
+}
Index: iknow-api/Migrations/20251020130122_InitialCreate.Designer.cs
===================================================================
--- iknow-api/Migrations/20251020130122_InitialCreate.Designer.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Migrations/20251020130122_InitialCreate.Designer.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,66 @@
+﻿// <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;
+
+#nullable disable
+
+namespace iknow_api.Migrations
+{
+    [DbContext(typeof(AppDbContext))]
+    [Migration("20251020130122_InitialCreate")]
+    partial class InitialCreate
+    {
+        /// <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.Users", 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>("Password")
+                        .HasColumnType("text");
+
+                    b.Property<int>("Role")
+                        .HasColumnType("integer");
+
+                    b.Property<string>("Surname")
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Users");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
Index: iknow-api/Migrations/20251020130122_InitialCreate.cs
===================================================================
--- iknow-api/Migrations/20251020130122_InitialCreate.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Migrations/20251020130122_InitialCreate.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,43 @@
+﻿using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace iknow_api.Migrations
+{
+    /// <inheritdoc />
+    public partial class InitialCreate : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.CreateTable(
+                name: "Users",
+                columns: table => new
+                {
+                    Id = table.Column<int>(type: "integer", nullable: false)
+                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+                    Name = table.Column<string>(type: "text", nullable: true),
+                    Surname = table.Column<string>(type: "text", nullable: true),
+                    Index = table.Column<string>(type: "text", nullable: true),
+                    Email = table.Column<string>(type: "text", nullable: true),
+                    Password = table.Column<string>(type: "text", nullable: true),
+                    Bday = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
+                    CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
+                    Role = table.Column<int>(type: "integer", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Users", x => x.Id);
+                });
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropTable(
+                name: "Users");
+        }
+    }
+}
Index: iknow-api/Migrations/AppDbContextModelSnapshot.cs
===================================================================
--- iknow-api/Migrations/AppDbContextModelSnapshot.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Migrations/AppDbContextModelSnapshot.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,63 @@
+﻿// <auto-generated />
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace iknow_api.Migrations
+{
+    [DbContext(typeof(AppDbContext))]
+    partial class AppDbContextModelSnapshot : ModelSnapshot
+    {
+        protected override void BuildModel(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.Users", 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>("Password")
+                        .HasColumnType("text");
+
+                    b.Property<int>("Role")
+                        .HasColumnType("integer");
+
+                    b.Property<string>("Surname")
+                        .HasColumnType("text");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Users");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
Index: iknow-api/Models/Users.cs
===================================================================
--- iknow-api/Models/Users.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Models/Users.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,24 @@
+
+
+namespace iknow_api.Models
+{
+    public enum UserRole
+    {
+        Admin,
+        Professor,
+        Strudent
+    }
+
+    public class Users
+    {
+        public int Id { get; set; }
+        public string? Name { get; set; }
+        public string? Surname { get; set; }
+        public string? Index { get; set; }
+        public string? Email { get; set; }
+        public string? Password { get; set; }
+        public DateTime Bday { get; set; }
+        public DateTime CreatedAt { get; set; }
+        public UserRole Role { get; set; }
+    }
+}
Index: iknow-api/Program.cs
===================================================================
--- iknow-api/Program.cs	(revision c11d3a3e5ecfc9bc60609c1fae1e70e64b8e1e0a)
+++ iknow-api/Program.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -1,2 +1,4 @@
+using Microsoft.EntityFrameworkCore;
+
 var builder = WebApplication.CreateBuilder(args);
 
@@ -15,4 +17,8 @@
 }
 
+builder.Services.AddDbContext<AppDbContext>(options =>
+    options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection")));
+
+    
 app.UseHttpsRedirection();
 
Index: iknow-api/Services/Implementations/UserService.cs
===================================================================
--- iknow-api/Services/Implementations/UserService.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Services/Implementations/UserService.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,16 @@
+using Microsoft.AspNetCore.Mvc;
+
+namespace iknow_api.Core.Services
+{
+    public class UserService
+    {
+        private readonly AppDbContext _context;
+
+        public UserService(AppDbContext context)
+        {
+            _context = context;
+        }
+
+
+    }
+}
Index: iknow-api/Services/Interfaces/IUserService.cs
===================================================================
--- iknow-api/Services/Interfaces/IUserService.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
+++ iknow-api/Services/Interfaces/IUserService.cs	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -0,0 +1,8 @@
+
+namespace iknow_api.Core.Interfaces
+{
+    public interface IUserService
+    {
+        Task<JsonContent> AddUser(JsonContent newUser);
+    }
+}
Index: iknow-api/appsettings.json
===================================================================
--- iknow-api/appsettings.json	(revision c11d3a3e5ecfc9bc60609c1fae1e70e64b8e1e0a)
+++ iknow-api/appsettings.json	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -6,4 +6,6 @@
     }
   },
-  "AllowedHosts": "*"
+  "ConnectionStrings": {
+    "DefaultConnection": "Host=localhost;Port=5432;Database=myappdb;Username=myuser;Password=REDACTED_ROTATE_ME"
+  }
 }
Index: iknow-api/iknow-api.csproj
===================================================================
--- iknow-api/iknow-api.csproj	(revision c11d3a3e5ecfc9bc60609c1fae1e70e64b8e1e0a)
+++ iknow-api/iknow-api.csproj	(revision 618be76765be90ceccc8ac3fb0758d602ca2f998)
@@ -10,4 +10,9 @@
   <ItemGroup>
     <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.9" />
+    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.10">
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+      <PrivateAssets>all</PrivateAssets>
+    </PackageReference>
+    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
   </ItemGroup>
 
