diff --git a/app/frontend/components/login.py b/app/frontend/components/login.py
index 02f559e0b3036b8e1a11763e16482d88688c43a6..935ffaf1b47e638371bf47e29edbea7054882875 100644
--- a/app/frontend/components/login.py
+++ b/app/frontend/components/login.py
@@ -1,5 +1,5 @@
 import ttkbootstrap as tb
-from ttkbootstrap.constants import *
+import ttkbootstrap.constants
 from tkinter import messagebox
 import requests  # Import requests for API communication
 
@@ -7,10 +7,6 @@ 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()
@@ -38,22 +34,14 @@ def login_frame(parent, switch_func, api_url):  # Added api_url parameter
 
     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)
 
diff --git a/app/frontend/components/register.py b/app/frontend/components/register.py
index eda5e9db03519b539c97d59e9615ab5e131d42a8..ee85f6c24e173b8970b8edd6ce7b3cfd5f52ed3e 100644
--- a/app/frontend/components/register.py
+++ b/app/frontend/components/register.py
@@ -1,73 +1,8 @@
 import ttkbootstrap as tb
-from ttkbootstrap.constants import *
+import ttkbootstrap.constants
 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)
-
-    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()
-=======
 
 def register_frame(parent, switch_func, api_url):  # Added api_url parameter
     frame = tb.Frame(parent)
@@ -151,6 +86,5 @@ def register_frame(parent, switch_func, api_url):  # Added api_url parameter
         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 eb1b435db1c7121097478cba72550a1bfc204745..5d1dd42c4b5278983067759bcbbe1bbb55de06ce 100644
--- a/app/frontend/main.py
+++ b/app/frontend/main.py
@@ -1,8 +1,6 @@
 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"
@@ -18,7 +16,6 @@ def switch_frame(frame_name):
 
 # Create main window
 root = tb.Window(themename="superhero")
-root = tb.Window(themename="superhero")
 root.title("Shopping App")
 root.geometry("900x800")
 
@@ -28,12 +25,7 @@ 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")
diff --git a/run_app.py b/run_app.py
new file mode 100644
index 0000000000000000000000000000000000000000..523ca5b5dfc9c244f2bc780dcd31179b840aaaa0
--- /dev/null
+++ b/run_app.py
@@ -0,0 +1,21 @@
+import threading
+import uvicorn
+from app.backend.main import app  # Your FastAPI app
+import os
+
+
+def run_fastapi():
+    uvicorn.run(app, host="127.0.0.1", port=8000)
+
+
+def start_tkinter_app():
+    os.system("python app/frontend/main.py")
+
+
+if __name__ == "__main__":
+    # Start FastAPI in a separate thread
+    fastapi_thread = threading.Thread(target=run_fastapi, daemon=True)
+    fastapi_thread.start()
+
+    # Start Tkinter in the main thread
+    start_tkinter_app()