diff --git a/app/core/config.py b/app/core/config.py
index 6aed5e95bbf84aa6033c1e13f1693d42f3f566b5..c448ac0d11c7588e6421b0b0f788f1834e39e6d8 100644
--- a/app/core/config.py
+++ b/app/core/config.py
@@ -9,11 +9,7 @@ class Settings(BaseSettings):
     database_host: str
     database_name: str
     secret_key: str
-    debug: bool = True
-
-    @property
-    def database_url(self) -> str:
-        return f"mysql+pymysql://{self.database_username}:{self.database_password}@{self.database_host}/{self.database_name}"
+    debug: bool = True  # Lowercase to match Python conventions
 
     model_config = SettingsConfigDict(
         env_file=str(Path(__file__).resolve().parent.parent / ".env"),
diff --git a/app/frontend/components/login.py b/app/frontend/components/login.py
index a52331bec7f4d148e3da874287a4492f4e2e5c80..02f559e0b3036b8e1a11763e16482d88688c43a6 100644
--- a/app/frontend/components/login.py
+++ b/app/frontend/components/login.py
@@ -3,9 +3,14 @@ from ttkbootstrap.constants import *
 from tkinter import messagebox
 import requests  # Import requests for API communication
 
+
 def login_frame(parent, switch_func, api_url):  # Added api_url parameter
     frame = tb.Frame(parent)
 
+    def login():
+        email = entry_email.get()
+        password = entry_password.get()
+
     def login():
         email = entry_email.get()
         password = entry_password.get()
@@ -15,10 +20,9 @@ def login_frame(parent, switch_func, api_url):  # Added api_url parameter
             return
 
         # Sending login request to backend
-        response = requests.post(f"{api_url}/auth/login", json={
-            "email": email,
-            "password": password
-        })
+        response = requests.post(
+            f"{api_url}/auth/login", json={"email": email, "password": password}
+        )
 
         try:
             response_data = response.json()
@@ -26,24 +30,38 @@ def login_frame(parent, switch_func, api_url):  # Added api_url parameter
                 messagebox.showinfo("Login Successful", f"Welcome back, {email}!")
                 # TODO: Implement navigation after login (e.g., open dashboard)
             else:
-                messagebox.showerror("Login Failed", response_data.get("detail", "Invalid credentials"))
+                messagebox.showerror(
+                    "Login Failed", response_data.get("detail", "Invalid credentials")
+                )
         except requests.exceptions.JSONDecodeError:
             messagebox.showerror("Login Failed", "Server returned an invalid response.")
 
     tb.Label(frame, text="Login", font=("Helvetica", 18, "bold")).pack(pady=10)
 
+    tb.Label(frame, text="Email:").pack(pady=5)
+    entry_email = tb.Entry(frame, bootstyle="info")
+    entry_email.pack(pady=5)
     tb.Label(frame, text="Email:").pack(pady=5)
     entry_email = tb.Entry(frame, bootstyle="info")
     entry_email.pack(pady=5)
 
+    tb.Label(frame, text="Password:").pack(pady=5)
+    entry_password = tb.Entry(frame, bootstyle="info", show="*")
+    entry_password.pack(pady=5)
     tb.Label(frame, text="Password:").pack(pady=5)
     entry_password = tb.Entry(frame, bootstyle="info", show="*")
     entry_password.pack(pady=5)
 
+    btn_login = tb.Button(frame, text="Login", bootstyle="primary", command=login)
+    btn_login.pack(pady=15)
     btn_login = tb.Button(frame, text="Login", bootstyle="primary", command=login)
     btn_login.pack(pady=15)
 
-    tb.Button(frame, text="Don't have an account? Register", bootstyle="link",
-              command=lambda: switch_func("register")).pack()
+    tb.Button(
+        frame,
+        text="Don't have an account? Register",
+        bootstyle="link",
+        command=lambda: switch_func("register"),
+    ).pack()
 
     return frame
diff --git a/app/frontend/components/register.py b/app/frontend/components/register.py
index 4f0b034660827e3892cdb629a70afac4467639d3..eda5e9db03519b539c97d59e9615ab5e131d42a8 100644
--- a/app/frontend/components/register.py
+++ b/app/frontend/components/register.py
@@ -3,6 +3,7 @@ from ttkbootstrap.constants import *
 from tkinter import messagebox
 import requests  # Import requests for API communication
 
+<<<<<<< HEAD
 def register_frame(parent, switch_func, api_url):  # Added api_url parameter
     frame = tb.Frame(parent)
 
@@ -66,5 +67,90 @@ def register_frame(parent, switch_func, api_url):  # Added api_url parameter
 
     tb.Button(frame, text="Already have an account? Login", bootstyle="link",
               command=lambda: switch_func("login")).pack()
+=======
+
+def register_frame(parent, switch_func, api_url):  # Added api_url parameter
+    frame = tb.Frame(parent)
+
+    def register():
+        username = entry_username.get()
+        email = entry_email.get()
+        phone_number = entry_phone.get()
+        password = entry_password.get()
+        confirm_password = entry_confirm_password.get()
+
+        if (
+            not username
+            or not email
+            or not phone_number
+            or not password
+            or not confirm_password
+        ):
+            messagebox.showwarning("Input Error", "All fields are required!")
+            return
+
+        if password != confirm_password:
+            messagebox.showerror("Password Error", "Passwords do not match!")
+            return
+
+        # Sending registration data to backend
+        response = requests.post(
+            f"{api_url}/auth/signup",
+            json={
+                "username": username,
+                "email": email,
+                "phone_number": phone_number,
+                "password": password,
+            },
+        )
+
+        try:
+            response_data = response.json()
+            if response.status_code == 200:
+                messagebox.showinfo("Registration Successful", f"Welcome, {username}!")
+                switch_func("login")  # Switch to login after successful registration
+            else:
+                messagebox.showerror(
+                    "Registration Failed", response_data.get("detail", "Unknown error")
+                )
+        except requests.exceptions.JSONDecodeError:
+            messagebox.showerror(
+                "Registration Failed", f"Server returned an invalid response."
+            )
+
+    tb.Label(frame, text="Register", font=("Helvetica", 18, "bold")).pack(pady=10)
+
+    tb.Label(frame, text="Username:").pack(pady=5)
+    entry_username = tb.Entry(frame, bootstyle="info")
+    entry_username.pack(pady=5)
+
+    tb.Label(frame, text="Email:").pack(pady=5)
+    entry_email = tb.Entry(frame, bootstyle="info")
+    entry_email.pack(pady=5)
+
+    tb.Label(frame, text="Phone Number:").pack(pady=5)
+    entry_phone = tb.Entry(frame, bootstyle="info")
+    entry_phone.pack(pady=5)
+
+    tb.Label(frame, text="Password:").pack(pady=5)
+    entry_password = tb.Entry(frame, bootstyle="info", show="*")
+    entry_password.pack(pady=5)
+
+    tb.Label(frame, text="Confirm Password:").pack(pady=5)
+    entry_confirm_password = tb.Entry(frame, bootstyle="info", show="*")
+    entry_confirm_password.pack(pady=5)
+
+    btn_register = tb.Button(
+        frame, text="Register", bootstyle="success", command=register
+    )
+    btn_register.pack(pady=15)
+
+    tb.Button(
+        frame,
+        text="Already have an account? Login",
+        bootstyle="link",
+        command=lambda: switch_func("login"),
+    ).pack()
+>>>>>>> 510d2b0 (resolve merge)
 
     return frame
diff --git a/app/frontend/main.py b/app/frontend/main.py
index 680f7df1c8f7f934d62dd2a665599829479cf1b5..eb1b435db1c7121097478cba72550a1bfc204745 100644
--- a/app/frontend/main.py
+++ b/app/frontend/main.py
@@ -1,10 +1,13 @@
 import ttkbootstrap as tb
 from components.login import login_frame
 from components.register import register_frame
+from components.login import login_frame
+from components.register import register_frame
 
 # Backend API URL
 API_URL = "http://127.0.0.1:8000"
 
+
 # Function to switch between login and register
 def switch_frame(frame_name):
     if frame_name == "login":
@@ -12,8 +15,10 @@ def switch_frame(frame_name):
     elif frame_name == "register":
         register.tkraise()
 
+
 # Create main window
 root = tb.Window(themename="superhero")
+root = tb.Window(themename="superhero")
 root.title("Shopping App")
 root.geometry("900x800")
 
@@ -21,11 +26,19 @@ root.geometry("900x800")
 login = login_frame(root, switch_frame, API_URL)
 register = register_frame(root, switch_frame, API_URL)
 
+for frame in (login, register):
+    frame.place(relx=0, rely=0.2, relwidth=1, relheight=1)
+# Create Frames
+login = login_frame(root, switch_frame, API_URL)
+register = register_frame(root, switch_frame, API_URL)
+
 for frame in (login, register):
     frame.place(relx=0, rely=0.2, relwidth=1, relheight=1)
 
 # Show Login Frame First
 switch_frame("login")
+# Show Login Frame First
+switch_frame("login")
 
 # Run the GUI
 root.mainloop()