Index: iknow-api/Repository/Implementations/UserRepository.cs
===================================================================
--- iknow-api/Repository/Implementations/UserRepository.cs	(revision 9a57e89c1f628a1c5aee327d90612e10c18679a2)
+++ iknow-api/Repository/Implementations/UserRepository.cs	(revision 9a57e89c1f628a1c5aee327d90612e10c18679a2)
@@ -0,0 +1,32 @@
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.EntityFrameworkCore;
+using iknow_api.Core.Models;
+using iknow_api.Repository.Interfaces;
+using iknow_api.Core.Data;
+
+namespace iknow_api.Repository
+{
+    public class UserRepository : IUserRepository
+    {
+        private readonly AppDbContext _context;
+
+        public UserRepository(AppDbContext context)
+        {
+            _context = context;
+        }
+
+        public Task<bool> EmailExistsAsync(string email, CancellationToken cancellationToken = default)
+            => _context.User.AnyAsync(u => u.Email == email, cancellationToken);
+
+        public async Task<User> AddUserAsync(User user, CancellationToken cancellationToken = default)
+        {
+            await _context.User.AddAsync(user, cancellationToken);
+            await _context.SaveChangesAsync(cancellationToken);
+            return user;
+        }
+
+        public Task<User?> GetUserByIdAsync(int id, CancellationToken cancellationToken = default)
+            => _context.User.FindAsync(new object[] { id }, cancellationToken).AsTask();
+    }
+}
Index: iknow-api/Repository/Interface/IUserRepository.cs
===================================================================
--- iknow-api/Repository/Interface/IUserRepository.cs	(revision 9a57e89c1f628a1c5aee327d90612e10c18679a2)
+++ iknow-api/Repository/Interface/IUserRepository.cs	(revision 9a57e89c1f628a1c5aee327d90612e10c18679a2)
@@ -0,0 +1,13 @@
+using System.Threading;
+using System.Threading.Tasks;
+using iknow_api.Core.Models;
+
+namespace iknow_api.Repository.Interfaces
+{
+    public interface IUserRepository
+    {
+        Task<bool> EmailExistsAsync(string email, CancellationToken cancellationToken = default);
+        Task<User> AddUserAsync(User user, CancellationToken cancellationToken = default);
+        Task<User?> GetUserByIdAsync(int id, CancellationToken cancellationToken = default);
+    }
+}
