Index: iknow-api/Controllers/AuthController.cs
===================================================================
--- iknow-api/Controllers/AuthController.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ iknow-api/Controllers/AuthController.cs	(revision cb8e531a0773f83ac2b272beb7f03b05eadb7a06)
@@ -2,5 +2,5 @@
 using iknow_api.Services;
 using Microsoft.AspNetCore.Mvc;
-//test
+
 namespace iknow_api.Controllers
 {
@@ -31,5 +31,5 @@
 
         [HttpPost("register")]
-        public async Task<IActionResult> Register([FromBody] UserDto request)
+        public async Task<IActionResult> Register([FromBody] RegisterDto request)
         {
             var result = await _authService.RegisterAsync(request);
@@ -39,5 +39,5 @@
 
         [HttpPost("login")]
-        public async Task<IActionResult> Login([FromBody] UserDto request)
+        public async Task<IActionResult> Login([FromBody] LoginDto request)
         {
             var token = await _authService.LoginAsync(request);
Index: now-api/Controllers/UsersControllers.cs
===================================================================
--- iknow-api/Controllers/UsersControllers.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ 	(revision )
@@ -1,37 +1,0 @@
-using iknow_api.Core.Models;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc;
-using iknow_api.Core.Data;
-using iknow_api.Repositories;
-using iknow_api.Core.Interfaces;
-
-namespace iknow_api.Controllers
-{
-    [ApiController]
-    [Route("user")]
-    public class UsersController : ControllerBase
-    {
-        private readonly IUserService _users;
-
-        public UsersController(IUserService users)
-        {
-            _users = users;
-        }
-
-        [HttpPost("add")]
-        public async Task<IActionResult> Add([FromBody] User user)
-        {
-            var created = await _users.AddUserAsync(user);
-            return Ok(created);
-        }
-
-        [HttpGet("id/{id}")]
-        public async Task<IActionResult> GetById(int id)
-        {
-            var user = await _users.GetUserByIdAsync(id);
-            if (user == null)
-                return NotFound();
-            return Ok(user);
-        }
-    }
-}
Index: iknow-api/DTOs/UserDTO.cs
===================================================================
--- iknow-api/DTOs/UserDTO.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ iknow-api/DTOs/UserDTO.cs	(revision cb8e531a0773f83ac2b272beb7f03b05eadb7a06)
@@ -1,8 +1,42 @@
 ﻿namespace iknow_api.DTOs
 {
-    public class UserDto
+    // Login DTO
+    public class LoginDto
     {
-        public string Username { get; set; } = null!;
-        public string Password { get; set; } = null!;
+        public string Email { get; set; } = string.Empty;
+        public string Password { get; set; } = string.Empty;
+    }
+
+    // Registration DTO
+    public class RegisterDto
+    {
+        public string Name { get; set; } = string.Empty;
+        public string Surname { get; set; } = string.Empty;
+        public string? Index { get; set; }
+        public string Email { get; set; } = string.Empty;
+        public string Password { get; set; } = string.Empty;
+        public DateTime Bday { get; set; }
+        public UserRole Role { get; set; }
+    }
+
+    // User response DTO (for returning user data without password)
+    public class UserResponseDto
+    {
+        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 DateTime Bday { get; set; }
+        public DateTime CreatedAt { get; set; }
+        public UserRole Role { get; set; }
+    }
+
+    // User role enum
+    public enum UserRole
+    {
+        Admin,
+        Professor,
+        Student
     }
 }
Index: iknow-api/Services/Implementations/AuthService.cs
===================================================================
--- iknow-api/Services/Implementations/AuthService.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ iknow-api/Services/Implementations/AuthService.cs	(revision cb8e531a0773f83ac2b272beb7f03b05eadb7a06)
@@ -22,13 +22,19 @@
         }
 
-        public async Task<bool> RegisterAsync(UserDto userDto)
+        public async Task<bool> RegisterAsync(RegisterDto registerDto)
         {
-            if (await _userRepository.UserExistsAsync(userDto.Username))
+            if (await _userRepository.UserExistsAsync(registerDto.Email))
                 return false;
 
             var user = new User
             {
-                Email = userDto.Username,
-                PasswordHash = BCrypt.Net.BCrypt.HashPassword(userDto.Password)
+                Name = registerDto.Name,
+                Surname = registerDto.Surname,
+                Index = registerDto.Index,
+                Email = registerDto.Email,
+                PasswordHash = BCrypt.Net.BCrypt.HashPassword(registerDto.Password),
+                Bday = DateTime.SpecifyKind(registerDto.Bday, DateTimeKind.Utc),
+                CreatedAt = DateTime.UtcNow,
+                Role = (Core.Models.UserRole)registerDto.Role
             };
 
@@ -37,8 +43,8 @@
         }
 
-        public async Task<string?> LoginAsync(UserDto userDto)
+        public async Task<string?> LoginAsync(LoginDto loginDto)
         {
-            var user = await _userRepository.GetUserByUsernameAsync(userDto.Username);
-            if (user == null || !BCrypt.Net.BCrypt.Verify(userDto.Password, user.PasswordHash))
+            var user = await _userRepository.GetUserByUsernameAsync(loginDto.Email);
+            if (user == null || !BCrypt.Net.BCrypt.Verify(loginDto.Password, user.PasswordHash))
                 return null;
 
@@ -56,5 +62,6 @@
             {
                 new Claim("id", user.Id.ToString()),
-                new Claim("username", user.Email)
+                new Claim("username", user.Email ?? string.Empty),
+                new Claim("role", user.Role.ToString())
             };
 
@@ -67,8 +74,8 @@
 
             var token = new JwtSecurityToken(
-                issuer: "finxacces-api",
-                audience: "finxacces-api",
+                issuer: "iknow-api",
+                audience: "iknow-api",
                 claims: claims,
-                expires: DateTime.Now.AddHours(1),
+                expires: DateTime.UtcNow.AddHours(1),
                 signingCredentials: creds
             );
Index: now-api/Services/Implementations/UserService.cs
===================================================================
--- iknow-api/Services/Implementations/UserService.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ 	(revision )
@@ -1,33 +1,0 @@
-//using Microsoft.EntityFrameworkCore;
-//using iknow_api.Core.Models;
-//using iknow_api.Repository.Interfaces;
-//// ...existing code...
-
-//namespace iknow_api.Core.Services
-//{
-//    public class UserService
-//    {
-//        private readonly IUserRepository _users;
-
-//        public UserService(IUserRepository users)
-//        {
-//            _users = users;
-//        }
-
-//        public async Task<User> AddUserAsync(User user, CancellationToken cancellationToken = default)
-//        {
-//            if (user == null) throw new ArgumentNullException(nameof(user));
-
-//            if (!string.IsNullOrWhiteSpace(user.Email))
-//            {
-//                user.Email = user.Email.Trim();
-
-//                var exists = await _users.EmailExistsAsync(user.Email, cancellationToken);
-//                if (exists)
-//                    throw new InvalidOperationException("A user with this email already exists.");
-//            }
-
-//            return await _users.AddUserAsync(user, cancellationToken);
-//        }
-//    }
-//}
Index: iknow-api/Services/Interfaces/IAuthService.cs
===================================================================
--- iknow-api/Services/Interfaces/IAuthService.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ iknow-api/Services/Interfaces/IAuthService.cs	(revision cb8e531a0773f83ac2b272beb7f03b05eadb7a06)
@@ -5,6 +5,6 @@
     public interface IAuthService
     {
-        Task<bool> RegisterAsync(UserDto userDto);
-        Task<string?> LoginAsync(UserDto userDto);
+        Task<bool> RegisterAsync(RegisterDto registerDto);
+        Task<string?> LoginAsync(LoginDto loginDto);
         Task<int> GetUsersCountAsync();
     }
Index: now-api/Services/Interfaces/IUserService.cs
===================================================================
--- iknow-api/Services/Interfaces/IUserService.cs	(revision 271178d597db61c1a18da2c7f3c6bd48512e23f0)
+++ 	(revision )
@@ -1,12 +1,0 @@
-using System.Threading;
-using System.Threading.Tasks;
-using iknow_api.Core.Models;
-
-namespace iknow_api.Core.Interfaces
-{
-    public interface IUserService
-    {
-        Task<User> AddUserAsync(User user, CancellationToken cancellationToken = default);
-        Task<int> GetUserByIdAsync(int id, CancellationToken cancellationToken = default);
-    }
-}
