diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..c5f3f6b
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "java.configuration.updateBuildConfiguration": "interactive"
+}
\ No newline at end of file
diff --git a/backend/pom.xml b/backend/pom.xml
index 745a3a5..7318efd 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -14,8 +14,8 @@
UTF-8
- 1.7
- 1.7
+ 18
+ 18
@@ -25,51 +25,66 @@
4.11
test
-
-
-
-
-
+
+ com.sparkjava
+ spark-core
+ 2.9.4
+
+
+
+ org.slf4j
+ slf4j-simple
+ 1.7.21
+
+
+
+ com.google.code.gson
+ gson
+ 2.8.6
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.30
+
+
+
+
+
- maven-clean-plugin
- 3.1.0
-
-
-
- maven-resources-plugin
- 3.0.2
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 2.3.2
+
+
+ 1.8
+
- maven-compiler-plugin
- 3.8.0
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+
+
+
+
+ jar-with-dependencies
+
+
+
+ mx.uv.App
+
+
+
-
- maven-surefire-plugin
- 2.22.1
-
-
- maven-jar-plugin
- 3.0.2
-
-
- maven-install-plugin
- 2.5.2
-
-
- maven-deploy-plugin
- 2.8.2
-
-
-
- maven-site-plugin
- 3.7.1
-
-
- maven-project-info-reports-plugin
- 3.0.0
-
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/backend/src/main/java/mx/uv/App.java b/backend/src/main/java/mx/uv/App.java
index a2d3cff..c7bdb36 100644
--- a/backend/src/main/java/mx/uv/App.java
+++ b/backend/src/main/java/mx/uv/App.java
@@ -4,10 +4,364 @@ package mx.uv;
* Hello world!
*
*/
+
+import static spark.Spark.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.UUID;
+import com.google.gson.*;
+
public class App
{
+ static Gson gson = new Gson();
+ static HashMap usuarios = new HashMap();
+ static String correoG;
+ static String passwordG;
+ static String nombreG;
+ static String idG;
public static void main( String[] args )
{
System.out.println( "Hello World!" );
+
+ //port(80);
+ port(getHerokuAssignedPort());
+
+ options("/*", (request, response) -> {
+
+ String accessControlRequestHeaders = request.headers("Access-Control-Request-Headers");
+ if (accessControlRequestHeaders != null) {
+ response.header("Access-Control-Allow-Headers", accessControlRequestHeaders);
+ }
+
+ String accessControlRequestMethod = request.headers("Access-Control-Request-Method");
+ if (accessControlRequestMethod != null) {
+ response.header("Access-Control-Allow-Methods", accessControlRequestMethod);
+ }
+
+ return "OK";
+ });
+ before((request, response) -> response.header("Access-Control-Allow-Origin", "*"));
+
+ get("/backend/verificar-conexion", (request, response) -> {
+ response.type("application/json");
+
+ JsonObject respuesta = new JsonObject();
+ respuesta.addProperty("mensaje", "Conexión exitosa al backend");
+
+ return respuesta.toString();
+ });
+
+ post("/frontend/", (request, response)->{
+ response.type("application/json");
+ String payload = request.body();
+ JsonElement jsonElement = JsonParser.parseString(payload);
+ JsonObject jsonObject = jsonElement.getAsJsonObject();
+ Usuario usuario = gson.fromJson(jsonObject.get("datosFormulario"), Usuario.class);
+ System.out.println("usuario"+usuario);
+ System.out.println("payload "+payload);
+ String id = UUID.randomUUID().toString();
+ usuario.setId(id);
+ usuarios.put(id, usuario);
+ DAO.crearUsuario(usuario);
+ System.out.println("i "+usuario.getId());
+ System.out.println("n "+usuario.getCorreo());
+ System.out.println("p "+usuario.getPassword());
+ JsonObject respuesta = new JsonObject();
+ respuesta.addProperty("msj", "Se creo el usuario");
+ respuesta.addProperty("id", id);
+ return gson.toJson(usuario);
+ });
+
+ post("/frontend/correoExiste", (request, response) -> {
+ response.type("application/json");
+
+ // Obtener datos del formulario enviado
+ String payload = request.body();
+
+ // Parsear el cuerpo JSON
+ JsonObject jsonObject = JsonParser.parseString(payload).getAsJsonObject();
+
+ // Acceder a la clave "datosFormulario" y luego obtener la clave "correo"
+ String correo = jsonObject.getAsJsonObject("datosFormulario").get("correo").getAsString();
+
+ System.out.println("correo: "+correo);
+ // Verificar si el correo existe
+ boolean correoExistente = DAO.correoExistente(correo);
+
+ // Construir un objeto JSON con la información sobre si el correo existe
+ JsonObject resultadoJson = new JsonObject();
+ resultadoJson.addProperty("correoExistente", correoExistente);
+
+ return resultadoJson.toString();
+ });
+
+ post("/frontend/obtenerUsuario", (request, response) -> {
+ response.type("application/json");
+
+ // Puedes acceder a las variables globales directamente o utilizar métodos getter según tu implementación
+ String correo = correoG;
+ String password = passwordG;
+ String nombre = nombreG;
+
+ // Construir un objeto JSON con los datos del usuario
+ JsonObject usuarioJson = new JsonObject();
+ usuarioJson.addProperty("correo", correo);
+ usuarioJson.addProperty("password", password);
+ usuarioJson.addProperty("nombre", nombre);
+ System.out.println(nombre);;
+ System.out.println(usuarioJson);
+ return usuarioJson.toString();
+ });
+
+ post("/frontend/login", (request, response)->{
+ response.type("application/json");
+ String payload = request.body();
+ System.out.println("payload "+payload);
+ // DAO.crearUsuario(usuario);
+
+ String correo = "";
+ String password = "";
+
+ JsonElement jsonElement = JsonParser.parseString(payload);
+ JsonObject jsonObject = jsonElement.getAsJsonObject();
+
+ // Accede a la clave "datosFormulario" y luego obtén las claves "correo" y "password"
+ JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
+
+ if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
+ correo = datosFormulario.get("correo").getAsString();
+ password = datosFormulario.get("password").getAsString();
+ System.out.println("Correogson: " + correo);
+ System.out.println("Passwordgson: " + password);
+ } else {
+ System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
+ }
+ boolean esUsuarioValido = DAO.validarUsuario(correo, password);
+ JsonObject respuesta = new JsonObject();
+ if (esUsuarioValido) {
+ correoG = correo;
+ passwordG = password;
+ String id = DAO.obtenerIdUsuario(correoG,passwordG);
+ idG = id;
+ System.out.println("correo valido "+correoG);
+ System.out.println("password valido "+passwordG);
+ System.out.println("id valido "+passwordG);
+
+
+ Usuario usuario = DAO.obtenerDatosUsuario(id);
+ nombreG = usuario.getNombre();
+ System.out.println("nombre valido: "+nombreG);
+ respuesta.addProperty("msj", "Valido");
+ respuesta.addProperty("nombre", usuario.getNombre());
+ respuesta.addProperty("id", id);
+ return gson.toJson(usuario);
+ } else {
+ respuesta.addProperty("msj", "Invalido");
+ return "Invalido";
+ }
+ });
+
+ post("/Login", (request, response) -> {
+ response.type("application/json");
+
+ // Puedes acceder a las variables globales directamente o utilizar métodos getter según tu implementación
+ String correo = correoG;
+ String password = passwordG;
+ String nombre = nombreG;
+
+ // Construir un objeto JSON con los datos del usuario
+ JsonObject usuarioJson = new JsonObject();
+ usuarioJson.addProperty("correo", correo);
+ usuarioJson.addProperty("password", password);
+ usuarioJson.addProperty("nombre", nombre);
+ System.out.println(nombre);;
+ System.out.println(usuarioJson);
+ return usuarioJson.toString();
+ });
+
+
+ post("/frontend/cerrarSesion", (request, response) -> {
+ response.type("application/json");
+
+ // Establecer las variables a null
+ correoG = null;
+ passwordG = null;
+ nombreG = null;
+ idG = null;
+
+ String correo = correoG;
+ String password = passwordG;
+ String nombre = nombreG;
+
+ // Construir un objeto JSON con los datos del usuario
+ JsonObject usuarioJson = new JsonObject();
+ usuarioJson.addProperty("correo", correo);
+ usuarioJson.addProperty("password", password);
+ usuarioJson.addProperty("nombre", nombre);
+ usuarioJson.addProperty("id", idG);
+
+ System.out.println(usuarioJson);
+ return usuarioJson.toString();
+ });
+
+
+ post("/frontend/login", (request, response)->{
+ response.type("application/json");
+ String payload = request.body();
+ System.out.println("payload "+payload);
+ // DAO.crearUsuario(usuario);
+
+ String correo = "";
+ String password = "";
+
+ JsonElement jsonElement = JsonParser.parseString(payload);
+ JsonObject jsonObject = jsonElement.getAsJsonObject();
+
+ // Accede a la clave "datosFormulario" y luego obtén las claves "correo" y "password"
+ JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
+
+ if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
+ correo = datosFormulario.get("correo").getAsString();
+ password = datosFormulario.get("password").getAsString();
+ System.out.println("Correogson: " + correo);
+ System.out.println("Passwordgson: " + password);
+ } else {
+ System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
+ }
+ boolean esUsuarioValido = DAO.validarUsuario(correo, password);
+ JsonObject respuesta = new JsonObject();
+ if (esUsuarioValido) {
+ correoG = correo;
+ passwordG = password;
+ String id = DAO.obtenerIdUsuario(correoG,passwordG);
+ idG = id;
+ System.out.println("correo valido "+correoG);
+ System.out.println("password valido "+passwordG);
+ System.out.println("id valido "+passwordG);
+
+
+ Usuario usuario = DAO.obtenerDatosUsuario(id);
+ nombreG = usuario.getNombre();
+ System.out.println("nombre valido: "+nombreG);
+ respuesta.addProperty("msj", "Valido");
+ respuesta.addProperty("nombre", usuario.getNombre());
+ respuesta.addProperty("id", id);
+ return gson.toJson(usuario);
+ } else {
+ respuesta.addProperty("msj", "Invalido");
+ return "Invalido";
+ }
+ });
+
+
+ //Recuperar Contraseña:
+
+ post("/frontend/RecuperarContra", (request, response) -> {
+ response.type("application/json");
+ String payload = request.body();
+ System.out.println(payload);
+
+ String correo = "";
+ String password = "";
+
+ JsonElement jsonElement = JsonParser.parseString(payload);
+ JsonObject jsonObject = jsonElement.getAsJsonObject();
+
+ JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
+
+ if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
+ correo = datosFormulario.get("correo").getAsString();
+ password = datosFormulario.get("password").getAsString();
+ System.out.println("Correo: " + correo);
+ System.out.println("Password: " + password);
+ } else {
+ System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
+ }
+ boolean existeUsuario = DAO.existeUsuarioPorCorreo(correo);
+ JsonObject respuesta = new JsonObject();
+ if (existeUsuario) {
+
+ respuesta.addProperty("msj", "Usuario encontrado");
+ return "Usuario encontrado";
+ } else {
+ respuesta.addProperty("msj", "Usuario no encontrado");
+ return "Usuario no encontrado";
+ }
+ });
+
+ post("/frontend/ColocarContra2", (request, response) -> {
+ response.type("application/json");
+ String payload = request.body();
+
+ String correo = "";
+ String password = "";
+
+ JsonElement jsonElement = JsonParser.parseString(payload);
+ JsonObject jsonObject = jsonElement.getAsJsonObject();
+
+ JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
+
+ if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
+ correo = datosFormulario.get("correo").getAsString();
+ password = datosFormulario.get("password").getAsString();
+ System.out.println("Correo: " + correo);
+ System.out.println("Password: " + password);
+ } else {
+ System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
+ }
+ System.out.println(correo);
+ System.out.println(password);
+ DAO.cambiarContrasena(correo, password);
+
+ System.out.println(payload);
+ return "Actualizado";
+ });
+
+ post("/frontend/RecuperarContra", (request, response) -> {
+ response.type("application/json");
+ String payload = request.body();
+ System.out.println(payload);
+
+ String correo = "";
+ String password = "";
+
+ JsonElement jsonElement = JsonParser.parseString(payload);
+ JsonObject jsonObject = jsonElement.getAsJsonObject();
+
+ JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
+
+ if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
+ correo = datosFormulario.get("correo").getAsString();
+ password = datosFormulario.get("password").getAsString();
+ System.out.println("Correo: " + correo);
+ System.out.println("Password: " + password);
+ } else {
+ System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
+ }
+ boolean existeUsuario = DAO.existeUsuarioPorCorreo(correo);
+ JsonObject respuesta = new JsonObject();
+ if (existeUsuario) {
+
+ respuesta.addProperty("msj", "Usuario encontrado");
+ return "Usuario encontrado";
+ } else {
+ respuesta.addProperty("msj", "Usuario no encontrado");
+ return "Usuario no encontrado";
+ }
+ });
+
+
+
}
-}
+
+
+
+ static int getHerokuAssignedPort() {
+ ProcessBuilder processBuilder = new ProcessBuilder();
+ if (processBuilder.environment().get("PORT") != null) {
+ return Integer.parseInt(processBuilder.environment().get("PORT"));
+ }
+ return 4567; //return default port if heroku-port isn't set (i.e. on localhost)
+ }
+}
\ No newline at end of file
diff --git a/backend/src/main/java/mx/uv/Conexion.java b/backend/src/main/java/mx/uv/Conexion.java
index 4b9fdd0..806857c 100644
--- a/backend/src/main/java/mx/uv/Conexion.java
+++ b/backend/src/main/java/mx/uv/Conexion.java
@@ -5,10 +5,10 @@ import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexion {
- private static String url = "jdbc:mysql://127.0.0.1:3306/?user=pastel";
+ private static String url = "jdbc:mysql://127.0.0.1:3306/dbpastel";
private static String driverName = "com.mysql.cj.jdbc.Driver";
- private static String username = "dbpastel";
- private static String password = "dbpastel";
+ private static String username = "root";
+ private static String password = "cesarin_11";
// variable de conexion
private static Connection connection = null;
@@ -16,11 +16,13 @@ public class Conexion {
try {
Class.forName(driverName);
connection = DriverManager.getConnection(url, username, password);
+ System.out.println("conexion exitosa");
} catch (SQLException e) {
System.out.println(" SQL:" + e);
} catch (ClassNotFoundException e){
System.out.println("Driver:" + e);
}
+
return connection;
}
}
\ No newline at end of file
diff --git a/backend/src/main/java/mx/uv/Pasteles.java b/backend/src/main/java/mx/uv/Pasteles.java
new file mode 100644
index 0000000..e52cd7e
--- /dev/null
+++ b/backend/src/main/java/mx/uv/Pasteles.java
@@ -0,0 +1,98 @@
+package mx.uv;
+
+public class Pasteles {
+
+ String idPedido;
+ String idUsuario;
+ String idNombre;
+ String idPrecio;
+ String idTamaño;
+ String status;
+ String inscripcion;
+ String tipoRelleno;
+
+ public String getIdPedido() {
+ return idPedido;
+ }
+
+ public void setIdPedido(String idPedido) {
+ this.idPedido = idPedido;
+ }
+
+ public String getIdUsuario() {
+ return idUsuario;
+ }
+
+ public void setIdUsuario(String idUsuario) {
+ this.idUsuario = idUsuario;
+ }
+
+ public String getIdNombre() {
+ return idNombre;
+ }
+
+ public void setIdNombre(String idNombre) {
+ this.idNombre = idNombre;
+ }
+
+ public String getIdPrecio() {
+ return idPrecio;
+ }
+
+ public void setIdPrecio(String idPrecio) {
+ this.idPrecio = idPrecio;
+ }
+
+ public String getIdTamaño() {
+ return idTamaño;
+ }
+
+ public void setIdTamaño(String idTamaño) {
+ this.idTamaño = idTamaño;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getInscripcion() {
+ return inscripcion;
+ }
+
+ public void setInscripcion(String inscripcion) {
+ this.inscripcion = inscripcion;
+ }
+
+ public String getTipoRelleno() {
+ return tipoRelleno;
+ }
+
+ public void setTipoRelleno(String tipoRelleno) {
+ this.tipoRelleno = tipoRelleno;
+ }
+
+ public String toString() {
+ return "Pasteles [idPedido=" + idPedido + ", idUsuario=" + idUsuario + ", idNombre=" + idNombre + ", idPrecio=" + idPrecio
+ + ", idTamaño=" + idTamaño + ", status=" + status + ", inscripcion=" + inscripcion + ", tipoRelleno=" + tipoRelleno + "]";
+ }
+
+ public Pasteles(){
+
+ }
+
+ public Pasteles(String idPedido, String idUsuario, String idNombre, String idPrecio, String idTamaño,
+ String status, String inscripcion, String tipoRelleno) {
+ this.idPedido = idPedido;
+ this.idUsuario = idUsuario;
+ this.idNombre = idNombre;
+ this.idPrecio = idPrecio;
+ this.idTamaño = idTamaño;
+ this.status = status;
+ this.inscripcion = inscripcion;
+ this.tipoRelleno = tipoRelleno;
+ }
+}
diff --git a/backend/src/main/java/mx/uv/Reservaciones.java b/backend/src/main/java/mx/uv/Reservaciones.java
new file mode 100644
index 0000000..8b86203
--- /dev/null
+++ b/backend/src/main/java/mx/uv/Reservaciones.java
@@ -0,0 +1,83 @@
+package mx.uv;
+
+public class Reservaciones {
+
+ String idR;
+ String idU;
+ String idH;
+ String nombre;
+ String precio;
+ String checkIn;
+ String checkOut;
+ String personas;
+ public String getIdR() {
+ return idR;
+ }
+ public void setIdR(String idR) {
+ this.idR = idR;
+ }
+ public String getIdU() {
+ return idU;
+ }
+ public void setIdU(String idU) {
+ this.idU = idU;
+ }
+ public String getIdH() {
+ return idH;
+ }
+ public void setIdH(String idH) {
+ this.idH = idH;
+ }
+ public String getNombre() {
+ return nombre;
+ }
+ public void setNombre(String nombre) {
+ this.nombre = nombre;
+ }
+ public String getPrecio() {
+ return precio;
+ }
+ public void setPrecio(String precio) {
+ this.precio = precio;
+ }
+ public String getCheckIn() {
+ return checkIn;
+ }
+ public void setCheckIn(String checkIn) {
+ this.checkIn = checkIn;
+ }
+ public String getCheckOut() {
+ return checkOut;
+ }
+ public void setCheckOut(String checkOut) {
+ this.checkOut = checkOut;
+ }
+ public String getPersonas() {
+ return personas;
+ }
+ public void setPersonas(String personas) {
+ this.personas = personas;
+ }
+
+ public String toString() {
+ return "Reservaciones [id=" + idR + ", nombre=" + nombre + ", precio=" + precio + ", checkIn=" + checkIn + ", checkOut=" + checkOut + ", personas=" + personas +"]";
+ }
+
+ public Reservaciones(){
+
+ }
+
+ public Reservaciones(String idR, String idU, String idH, String nombre, String precio, String checkIn,
+ String checkOut, String personas) {
+ this.idR = idR;
+ this.idU = idU;
+ this.idH = idH;
+ this.nombre = nombre;
+ this.precio = precio;
+ this.checkIn = checkIn;
+ this.checkOut = checkOut;
+ this.personas = personas;
+ }
+
+
+}
\ No newline at end of file
diff --git a/backend/target/classes/mx/uv/App.class b/backend/target/classes/mx/uv/App.class
index eaaa685..c41e3cc 100644
Binary files a/backend/target/classes/mx/uv/App.class and b/backend/target/classes/mx/uv/App.class differ
diff --git a/backend/target/classes/mx/uv/Conexion.class b/backend/target/classes/mx/uv/Conexion.class
index fe2c46f..d2b87c5 100644
Binary files a/backend/target/classes/mx/uv/Conexion.class and b/backend/target/classes/mx/uv/Conexion.class differ
diff --git a/backend/target/classes/mx/uv/DAO.class b/backend/target/classes/mx/uv/DAO.class
index 648d8fc..c045081 100644
Binary files a/backend/target/classes/mx/uv/DAO.class and b/backend/target/classes/mx/uv/DAO.class differ
diff --git a/backend/target/classes/mx/uv/Pasteles.class b/backend/target/classes/mx/uv/Pasteles.class
new file mode 100644
index 0000000..98e471d
Binary files /dev/null and b/backend/target/classes/mx/uv/Pasteles.class differ
diff --git a/backend/target/classes/mx/uv/Reservaciones.class b/backend/target/classes/mx/uv/Reservaciones.class
new file mode 100644
index 0000000..c3f2226
Binary files /dev/null and b/backend/target/classes/mx/uv/Reservaciones.class differ
diff --git a/backend/target/classes/mx/uv/Usuario.class b/backend/target/classes/mx/uv/Usuario.class
index 1019abb..8187895 100644
Binary files a/backend/target/classes/mx/uv/Usuario.class and b/backend/target/classes/mx/uv/Usuario.class differ
diff --git a/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index bf8adff..0000000
--- a/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-mx\uv\App.class
diff --git a/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index 93be142..0000000
--- a/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\natal\OneDrive\Escritorio\ProyectoFinal-DS\BackPastel\backend\src\main\java\mx\uv\App.java
diff --git a/backend/target/test-classes/mx/uv/AppTest.class b/backend/target/test-classes/mx/uv/AppTest.class
index bd234c7..bb59e9b 100644
Binary files a/backend/target/test-classes/mx/uv/AppTest.class and b/backend/target/test-classes/mx/uv/AppTest.class differ