diff --git a/controllers/login.php b/controllers/LoginController.php
similarity index 53%
rename from controllers/login.php
rename to controllers/LoginController.php
index 8513090..90cb3cb 100644
--- a/controllers/login.php
+++ b/controllers/LoginController.php
@@ -13,12 +13,22 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
         if (UsuarioController::iniciarSesion($usuario, $contrasena)) {
             session_start(); // Iniciar la sesión
             $_SESSION['autenticado'] = true; // Marcar la sesión como autenticada
-            echo json_encode(['loginExitoso' => true, 'message' => 'Inicio de sesión exitoso']);
+            echo json_encode([
+                'estado' => 'exitoso',
+                'mensaje' => 'Inicio de sesión exitoso'
+            ]);
         } else {
-            echo json_encode(['loginExitoso' => false, 'message' => 'Usuario o contraseña incorrectos']);
+            echo json_encode([
+                'estado' => 'error',
+                'mensaje' => 'Usuario o contraseña incorrectos'
+            ]);
         }
     } catch (Exception $e) {
-        echo json_encode(['loginExitoso' => false, 'message' => $e->getMessage()]);
+        echo json_encode([
+            'estado' => 'error',
+            'mensaje' => 'Error al iniciar sesión, intentelo más tarde.',
+            'res' => $e->getMessage()
+        ]);
     }
 }
 
diff --git a/controllers/registrarCandidato.php b/controllers/RegistrarCandidatoController.php
similarity index 100%
rename from controllers/registrarCandidato.php
rename to controllers/RegistrarCandidatoController.php
diff --git a/controllers/registrarInfoCandidato.php b/controllers/RegistrarInfoCandidato.php
similarity index 100%
rename from controllers/registrarInfoCandidato.php
rename to controllers/RegistrarInfoCandidato.php
diff --git a/js/buscarCodigo b/js/buscarCodigo
deleted file mode 100644
index c13022a..0000000
--- a/js/buscarCodigo
+++ /dev/null
@@ -1,140 +0,0 @@
-document.addEventListener("DOMContentLoaded", function () {
-    const buscarBtn = document.getElementById("buscarBtn");
-    const paisSelect = document.getElementById("id_pais");
-    const inputCodigoPostal = document.getElementById("codigo_postal");
-    const inputButtonBuscarCodigoPostal = document.getElementById("buscarBtn");
-    const estadoSelect = document.getElementById("id_estado");
-    const municipioSelect = document.getElementById("id_municipio");
-    const coloniaSelect = document.getElementById("id_colonia");
-    const giroSelect = document.getElementById("id_giro");
-
-    llenarSelectGiro();
-
-    // Añadir un evento de cambio al select de país
-    paisSelect.addEventListener("change", function() {
-        // Si el país es México, habilitar el campo de código postal
-        if (paisSelect.value === "1") {
-            inputCodigoPostal.removeAttribute("disabled");
-            inputButtonBuscarCodigoPostal.removeAttribute("disabled");
-        } else {
-            // Si el país no es México, deshabilitar el campo de código postal
-            inputCodigoPostal.setAttribute("disabled", "disabled");
-            inputButtonBuscarCodigoPostal.setAttribute("disabled", "disabled");
-        }
-    });
-    
-    //Añadir un evento al boton de buscar
-    buscarBtn.addEventListener("click", function () {
-        let inputCodigoPostal = document.getElementById("codigo_postal").value;
-
-        //verificar si el codigo postal esta vacio
-        if (inputCodigoPostal) {
-
-            // Limpia los selects antes de llenarlos
-            estadoSelect.innerHTML = "<option value='NULL'>Seleccione su estado</option>";
-            municipioSelect.innerHTML = "<option value='NULL'>Seleccione su municipio</option>";
-            coloniaSelect.innerHTML = "<option value='NULL'>Seleccione su colonia</option>";
-
-            // Construye la URL para la solicitud
-            let url = "./controllers/CatalogosController.php?codigo_postal=" + encodeURIComponent(inputCodigoPostal);
-
-            // Realiza una solicitud HTTP GET a la URL especificada
-            fetch(url)
-                .then(response => {
-                        //console.log("Estado de la respuesta:", response.status);
-                        //console.log("Contenido de la respuesta:", response.json());
-
-                    // Verifica si la respuesta del servidor es exitosa
-                    if (!response.ok) {
-                        throw new Error("Error en la respuesta del servidor");
-                    }
-
-                    // Convertir la respuesta a JSON
-                    return response.json();
-                })
-                .then(data => {
-                    // Verifica si se recibieron datos
-                    if (data.length > 0) {
-
-                        // Quitar disable a los selects
-                        estadoSelect.removeAttribute("disabled");
-                        estadoSelect.setAttribute("required", "required");
-                        municipioSelect.removeAttribute("disabled");
-                        municipioSelect.setAttribute("required", "required");
-                        coloniaSelect.removeAttribute("disabled");
-                        coloniaSelect.setAttribute("required", "required");
-
-                        //Crea conjuntos para almacenar estados, ciudades y colonias
-                        let estados = new Map();
-                        let municipios = new Map();
-                        let colonias = new Map();
-
-                        // Itera sobre cada fila de datos recibidos
-                        data.forEach(row => {
-                            console.log(row);
-                            estados.set(row['id_estado'], row['estado']);
-                            municipios.set(row['id_municipio'], row['municipio']);
-                            colonias.set(row['id_colonia'], row['colonia']);
-                        });
-
-                        // Añade las opciones de estados al elemento select
-                        for (let [id_estado, estado] of estados) {
-                            estadoSelect.innerHTML += "<option value='" + id_estado + "'>" + estado + "</option>";
-                        }
-
-                        // Añade las opciones de ciudades al elemento select
-                        for (let [id_municipio, municipio] of municipios) {
-                            municipioSelect.innerHTML += "<option value='" + id_municipio + "'>" + municipio + "</option>";
-                        }
-
-                        // Añade las opciones de colonias al elemento select
-                        for (let [id_colonia, colonia] of colonias) {
-                            coloniaSelect.innerHTML += "<option value='" + id_colonia + "'>" + colonia + "</option>";
-                        }
-
-                    } else {
-                        alert("No se encontraron datos para el código postal ingresado.");
-                    }
-                })
-                .catch(error => {
-                    console.error("Error en la solicitud:", error);
-                });
-        } else {
-            alert("Por favor, ingrese un código postal.");
-        }
-    });
-
-    
-    function llenarSelectGiro() {
-
-        // URL para la solicitud
-        let url = "./controllers/CatalogosController.php?obtener=giros";
-
-        // Realiza una solicitud HTTP GET a la URL especificada
-        fetch(url)
-            .then(response => {
-                // Verifica si la respuesta del servidor es exitosa
-                if (!response.ok) {
-                    throw new Error("Error en la respuesta del servidor");
-                }
-
-                // Convertir la respuesta a JSON
-                return response.json();
-            })
-            .then(data => {
-                // Verifica si se recibieron datos
-                if (data.length > 0) {
-
-                    // Añade las opciones de giros al elemento select
-                    data.forEach(row => {
-                        giroSelect.innerHTML += "<option value='" + row.id_giro + "'>" + row.descripcion + "</option>";
-                    });
-                } else {
-                    alert("No se encontraron datos para los giros.");
-                }
-            })
-            .catch(error => {
-                console.error("Error en la solicitud:", error);
-            });
-    }
-});
diff --git a/js/form_datos_basicos.js b/js/formulario-candidato.js
similarity index 96%
rename from js/form_datos_basicos.js
rename to js/formulario-candidato.js
index 912fb6a..9f3b61e 100644
--- a/js/form_datos_basicos.js
+++ b/js/formulario-candidato.js
@@ -6,7 +6,7 @@ obtenerTiposIdentificacion();
 obtenerRangosEdad();
 
 function obtenerNombresExamenes(){
-    let url = "./controllers/CatalogosController.php?obtener=examenes";
+    let url = "../controllers/CatalogosController.php?obtener=examenes";
     fetch(url)
         .then(response => response.json())
         .then(data => {
@@ -28,7 +28,7 @@ function obtenerNombresExamenes(){
 }
 
 function obtenerTiposIdentificacion(){
-    let url = "./controllers/CatalogosController.php?obtener=identificacion";
+    let url = "../controllers/CatalogosController.php?obtener=identificacion";
     fetch(url)
         .then(response => response.json())
         .then(data => {
@@ -50,7 +50,7 @@ function obtenerTiposIdentificacion(){
 }
 
 function obtenerRangosEdad(){
-    let url = "./controllers/CatalogosController.php?obtener=rangosedad";
+    let url = "../controllers/CatalogosController.php?obtener=rangosedad";
     fetch(url)
         .then(response => response.json())
         .then(data => {
@@ -208,7 +208,7 @@ formulario.addEventListener("submit", async(event) => {
     
     // Enviar petición POST para registrar candidato
     try {
-        const respuesta = await fetch('controllers/registrarCandidato.php', {
+        const respuesta = await fetch('../controllers/RegistrarCandidatoController.php', {
             method: "POST",
             body: formData,
         });
diff --git a/js/form_datos_extendidos.js b/js/formulario-datos-candidato.js
similarity index 96%
rename from js/form_datos_extendidos.js
rename to js/formulario-datos-candidato.js
index c4dcd97..b69b9d3 100644
--- a/js/form_datos_extendidos.js
+++ b/js/formulario-datos-candidato.js
@@ -20,7 +20,7 @@ document.addEventListener("DOMContentLoaded", function () {
     // FUNCIONES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     function llenarSelectGiro() {
         // URL para la solicitud
-        let url = "./controllers/CatalogosController.php?obtener=giros";
+        let url = "../controllers/CatalogosController.php?obtener=giros";
 
         // Realiza una solicitud HTTP GET a la URL especificada
         fetch(url)
@@ -51,7 +51,7 @@ document.addEventListener("DOMContentLoaded", function () {
     }
 
     function llenarSelectNivelesEstudio(){
-        let url = "./controllers/CatalogosController.php?obtener=nivelesestudio";
+        let url = "../controllers/CatalogosController.php?obtener=nivelesestudio";
         // Petición fetch y llenado de select
         fetch(url)
             .then(response => {
@@ -75,7 +75,7 @@ document.addEventListener("DOMContentLoaded", function () {
     }
 
     function llenarDataListEmpresasInstituciones(){
-        let url = "./controllers/CatalogosController.php?obtener=empresasinstituciones";
+        let url = "../controllers/CatalogosController.php?obtener=empresasinstituciones";
         fetch(url)
             .then(response => response.json())
             .then(data => {
@@ -170,7 +170,7 @@ document.addEventListener("DOMContentLoaded", function () {
             coloniaSelect.innerHTML = "<option value='NULL'>Seleccione su colonia</option>";
 
             // Construye la URL para la solicitud
-            let url = "./controllers/CatalogosController.php?codigo_postal=" + encodeURIComponent(inputCodigoPostal);
+            let url = "../controllers/CatalogosController.php?codigo_postal=" + encodeURIComponent(inputCodigoPostal);
 
             // Realiza una solicitud HTTP GET a la URL especificada
             fetch(url)
@@ -327,7 +327,7 @@ document.addEventListener("DOMContentLoaded", function () {
         // }
 
         try {
-            const respuesta = await fetch('controllers/registrarInfoCandidato.php', {
+            const respuesta = await fetch('../controllers/RegistrarInfoCandidato.php', {
                 method: "POST",
                 body: formData,
             });
diff --git a/js/login.js b/js/login.js
index 4554a2c..86aa3a3 100644
--- a/js/login.js
+++ b/js/login.js
@@ -13,21 +13,24 @@ formulario.addEventListener("submit", async (event) => {
   data.append("contrasena", contrasena);
   
   try {
-    const respuestaPeticion =  await fetch("controllers/login.php", {
+    const respuestaPeticion =  await fetch("../controllers/LoginController.php", {
       method: "POST",
       body: data,
     });
 
-    const verificarCredenciales = await respuestaPeticion.json();
+    const respuesta = await respuestaPeticion.json();
 
-    if (verificarCredenciales.loginExitoso) {
-      window.location.href = 'inicio.html';
-    } else {
-      notificacion.textContent = "Usuario y/o contraseña incorrectos";
+    if (respuesta.estado === 'exitoso') {
+      window.location.href = 'views/inicio.html';
+    } else if(respuesta.estado === 'error') {
+      notificacion.textContent = respuesta.mensaje;
+      if(respuesta.res){
+        console.error(respuesta.res)
+      }
       notificacion.style.display =  "block";
     }
   } catch (error) {
-    notificacion.textContent =
-      "Lo sentimos, el servicio no está disponible por el momento";
+    notificacion.textContent = "Lo sentimos, el servicio no está disponible por el momento";
+    console.error(error)
   }
 });
diff --git a/models/CandidatoModel.php b/models/CandidatoModel.php
index b15fdfa..323de81 100644
--- a/models/CandidatoModel.php
+++ b/models/CandidatoModel.php
@@ -42,12 +42,16 @@ class CandidatoModel {
         $fecha_salida
     ) {
         try {
-
+            $id_pais = (int)$id_pais;
             // Si el país no es México (ID 1), se asignan valores nulos a los campos de ubicación
             if ($id_pais !== 1) {
                 $id_estado = null;
                 $id_municipio = null;
                 $id_colonia = null;
+            } else {
+                $id_estado = (int)$id_estado;
+                $id_municipio = (int)$id_municipio;
+                $id_colonia = (int)$id_colonia;
             }
 
             $sql = "INSERT INTO info_candidatos (
diff --git a/form_datos_basicos.html b/views/formulario-candidato.html
similarity index 88%
rename from form_datos_basicos.html
rename to views/formulario-candidato.html
index e6bdea8..85415b0 100644
--- a/form_datos_basicos.html
+++ b/views/formulario-candidato.html
@@ -4,7 +4,7 @@
 	<meta charset="UTF-8">
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 	<link href='https://unpkg.com/boxicons@2.0.9/css/boxicons.min.css' rel='stylesheet'>
-	<link rel="stylesheet" href="css/form.css">
+	<link rel="stylesheet" href="../css/form.css">
 	<title>AdminSite</title>
 </head>
 <body>
@@ -16,7 +16,7 @@
 			<img src="img/lania_logo.png" alt="Logo" style="height: 40px;">
 		</a> -->
 		<ul class="side-menu">
-			<li><a href="#" class="active"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
+			<li><a href="#"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
 			<li class="divider" data-text="main">Main</li>
 			<li>
 				<a href="#"><i class='bx bxs-inbox icon' ></i> Elements <i class='bx bx-chevron-right icon-right' ></i></a>
@@ -29,13 +29,13 @@
 			</li>
 			<li><a href="#"><i class='bx bxs-chart icon' ></i> Charts</a></li>
 			<li><a href="#"><i class='bx bxs-widget icon' ></i> Widgets</a></li>
-			<li class="divider" data-text="table and forms">Table and forms</li>
-			<li><a href="#"><i class='bx bx-table icon' ></i> Tables</a></li>
+			<li class="divider" data-text="tablas y formularios">Tablas y formularios</li>
+			<li><a href="#"><i class='bx bx-table icon' ></i> Tablas</a></li>
 			<li>
-				<a href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
+				<a class="active" href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
 				<ul class="side-dropdown">
-					<li><a href="form_datos_basicos.html">Datos Básicos</a></li>
-					<li><a href="form_datos_extendidos.php">Datos Extendidos</a></li>
+					<li><a href="../views/formulario-candidato.html">Registro de candidato</a></li>
+					<li><a href="../views/formulario-datos-candidato.php">Datos de candidato</a></li>
 				</ul>
 			</li>
 		</ul>
@@ -162,8 +162,8 @@
 	</section>
 	<!-- NAVBAR -->
 	 
-	<script src="js/form.js"></script>
-	<script src="js/form_datos_basicos.js"></script>
+	<script src="../js/form.js"></script>
+	<script src="../js/formulario-candidato.js"></script>
 	<script src="https://website-widgets.pages.dev/dist/sienna.min.js" defer></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/form_datos_extendidos.php b/views/formulario-datos-candidato.php
similarity index 92%
rename from form_datos_extendidos.php
rename to views/formulario-datos-candidato.php
index 52dfb85..58348ca 100644
--- a/form_datos_extendidos.php
+++ b/views/formulario-datos-candidato.php
@@ -16,7 +16,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
 	<meta charset="UTF-8">
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 	<link href='https://unpkg.com/boxicons@2.0.9/css/boxicons.min.css' rel='stylesheet'>
-	<link rel="stylesheet" href="css/form.css">
+	<link rel="stylesheet" href="../css/form.css">
 	<title>AdminSite</title>
 </head>
 <body>
@@ -28,7 +28,7 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
 			<img src="img/lania_logo.png" alt="Logo" style="height: 40px;">
 		</a> -->
 		<ul class="side-menu">
-			<li><a href="#" class="active"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
+			<li><a href="#"><i class='bx bxs-dashboard icon' ></i> Dashboard</a></li>
 			<li class="divider" data-text="main">Main</li>
 			<li>
 				<a href="#"><i class='bx bxs-inbox icon' ></i> Elements <i class='bx bx-chevron-right icon-right' ></i></a>
@@ -41,13 +41,13 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
 			</li>
 			<li><a href="#"><i class='bx bxs-chart icon' ></i> Charts</a></li>
 			<li><a href="#"><i class='bx bxs-widget icon' ></i> Widgets</a></li>
-			<li class="divider" data-text="table and forms">Table and forms</li>
-			<li><a href="#"><i class='bx bx-table icon' ></i> Tables</a></li>
+            <li class="divider" data-text="tablas y formularios">Tablas y formularios</li>
+            <li><a href="#"><i class='bx bx-table icon' ></i> Tablas</a></li>
 			<li>
-				<a href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
+				<a href="#" class="active"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
 				<ul class="side-dropdown">
-                    <li><a href="form_datos_basicos.html">Datos Básicos</a></li>
-                    <li><a href="form_datos_extendidos.php">Datos Extendidos</a></li>
+                    <li><a href="../views/formulario-candidato.html">Registro de candidato</a></li>
+                    <li><a href="../views/formulario-datos-candidato.php">Datos de candidato</a></li>
 				</ul>
 			</li>
 		</ul>
@@ -244,8 +244,8 @@ if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id_candidato'])){
 	<!-- NAVBAR -->
 	
 	
-	<script src="js/form.js"></script>
-	<script src="js/form_datos_extendidos.js"></script>
+	<script src="../js/form.js"></script>
+	<script src="../js/formulario-datos-candidato.js"></script>
 	<!-- <script src="js/buscarCodigo.js"></script> -->
 	<script src="https://website-widgets.pages.dev/dist/sienna.min.js" defer></script>
 </body>
diff --git a/inicio.html b/views/inicio.html
similarity index 95%
rename from inicio.html
rename to views/inicio.html
index 20fd276..314be66 100644
--- a/inicio.html
+++ b/views/inicio.html
@@ -4,7 +4,7 @@
 	<meta charset="UTF-8">
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 	<link href='https://unpkg.com/boxicons@2.0.9/css/boxicons.min.css' rel='stylesheet'>
-	<link rel="stylesheet" href="css/inicio.css">
+	<link rel="stylesheet" href="../css/inicio.css">
 	<title>AdminSite</title>
 </head>
 <body>
@@ -27,13 +27,13 @@
 			</li>
 			<li><a href="#"><i class='bx bxs-chart icon' ></i> Charts</a></li>
 			<li><a href="#"><i class='bx bxs-widget icon' ></i> Widgets</a></li>
-			<li class="divider" data-text="table and forms">Table and forms</li>
-			<li><a href="#"><i class='bx bx-table icon' ></i> Tables</a></li>
+			<li class="divider" data-text="tablas y formularios">Tablas y formularios</li>
+			<li><a href="#"><i class='bx bx-table icon' ></i> Tablas</a></li>
 			<li>
 				<a href="#"><i class='bx bxs-notepad icon' ></i> Formularios <i class='bx bx-chevron-right icon-right' ></i></a>
 				<ul class="side-dropdown">
-					<li><a href="form_datos_basicos.html">Datos Básicos</a></li>
-					<li><a href="form_datos_extendidos.php">Datos Extendidos</a></li>
+					<li><a href="formulario-candidato.html">Registro de candidato</a></li>
+					<li><a href="formulario-datos-candidato.php">Datos de candidato</a></li>
 				</ul>
 			</li>
 		</ul>
@@ -259,7 +259,7 @@
 	<!-- NAVBAR -->
 
 	<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
-	<script src="js/inicio.js"></script>
+	<script src="../js/inicio.js"></script>
 	<script src="https://website-widgets.pages.dev/dist/sienna.min.js" defer></script>
 </body>
 </html>
\ No newline at end of file