Index: frontend/src/api/axiosInstance.ts
===================================================================
--- frontend/src/api/axiosInstance.ts	(revision 3238007b9dbc5f9b1be113a3d57611699c0c7302)
+++ frontend/src/api/axiosInstance.ts	(revision 16aed5441fc30d9bf562b00a5fc23dab3e3f4357)
@@ -70,5 +70,7 @@
 			[401, 403].includes(error.response?.status) &&
 			!originalConfig._retry &&
-			originalConfig.url !== "/auth/refresh"
+			originalConfig.url !== "/auth/refresh" &&
+			originalConfig.url !== "/auth/login" &&
+			originalConfig.url !== "/auth/register"
 		) {
 			originalConfig._retry = true;
Index: frontend/src/pages/Register.tsx
===================================================================
--- frontend/src/pages/Register.tsx	(revision 3238007b9dbc5f9b1be113a3d57611699c0c7302)
+++ frontend/src/pages/Register.tsx	(revision 16aed5441fc30d9bf562b00a5fc23dab3e3f4357)
@@ -28,8 +28,21 @@
 	}, [previewProfilePhoto]);
 
+	const handleRemoveFile = () => {
+		if (previewProfilePhoto) {
+			URL.revokeObjectURL(previewProfilePhoto);
+		}
+		setProfilePhotoFile(null);
+		setPreviewProfilePhoto(null);
+	};
+
 	const handleRegister = async (e: React.FormEvent) => {
 		e.preventDefault();
 		if (profilePhotoFile && profilePhotoFile.size > 5 * 1024 * 1024) {
 			alert("Max file size is 5MB");
+			return;
+		}
+
+		if (username === "" || password === "" || fullname === "" || email === "") {
+			setError("Please fill in all required fields.");
 			return;
 		}
@@ -56,6 +69,5 @@
 			toast.success("Registration successful!");
 		} catch (error: any) {
-			const errorMessage =
-				error.response?.data?.error || "Registration failed. Please try again.";
+			const errorMessage = error.response?.data?.error || "Please try again.";
 			setError(`Registration failed: ${errorMessage}`);
 		}
@@ -65,5 +77,5 @@
 		<div className="flex flex-col items-center justify-center min-h-[90vh] bg-gray-100">
 			<h2 className="text-2xl mb-4">Register</h2>
-			<form className="bg-white p-6 rounded shadow-md w-80">
+			<form className="bg-white p-6 rounded shadow-md w-full max-w-md">
 				{error && <p className="text-red-500 mb-4">{error}</p>}
 				<div className="mb-4">
@@ -120,11 +132,20 @@
 						<label
 							htmlFor="profilePhoto"
-							className="px-4 py-2 bg-blue-500 text-white rounded cursor-pointer hover:bg-blue-600 transition-colors text-sm font-medium"
+							className="px-4 py-2 bg-blue-500 text-white rounded cursor-pointer hover:bg-blue-600 transition-colors text-sm font-medium text-center"
 						>
 							Choose File
 						</label>
-						<span className="text-gray-600 text-sm">
+						<span className="text-gray-600 text-sm flex-1">
 							{profilePhotoFile ? profilePhotoFile.name : "No file chosen"}
 						</span>
+						{profilePhotoFile && (
+							<button
+								type="button"
+								onClick={handleRemoveFile}
+								className="px-3 py-2 bg-red-500 text-white rounded hover:bg-red-600 transition-colors text-sm font-medium"
+							>
+								Remove
+							</button>
+						)}
 					</div>
 					<input
