From 318405a98788aae0b0de1160049c954adf775a4f Mon Sep 17 00:00:00 2001 From: Soka_jplr Date: Fri, 19 Apr 2024 20:11:27 -0600 Subject: [PATCH 1/4] =?UTF-8?q?Agregaci=C3=B3n=20de=20clases=20consultas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/Controller/Consultas.java | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 backend/Controller/Consultas.java diff --git a/backend/Controller/Consultas.java b/backend/Controller/Consultas.java new file mode 100644 index 0000000..5ecf421 --- /dev/null +++ b/backend/Controller/Consultas.java @@ -0,0 +1,3 @@ +public class Consultas { + +} From ed9caaad30c278d364b9e1d52e1d4e5a279e1bd0 Mon Sep 17 00:00:00 2001 From: citlallixx03 <2282785651citlali@gmail.com> Date: Mon, 6 May 2024 07:38:56 -0600 Subject: [PATCH 2/4] pantallas --- frontend/imagen.jpg | Bin 0 -> 41656 bytes frontend/index.html | 6 +- frontend/logo.png | Bin 0 -> 3281 bytes frontend/package-lock.json | 139 +++++++++++++++++++++++++++++-- frontend/package.json | 4 +- frontend/src/App.jsx | 3 +- frontend/src/OfertaEducativa.css | 69 +++++++++++++++ frontend/src/OfertaEducativa.jsx | 74 ++++++++++++++++ frontend/src/Preinscripcion.jsx | 13 +++ frontend/src/SubirPDF.jsx | 36 ++++++++ frontend/src/assets/login.jsx | 0 frontend/src/login.css | 87 ++++++++++++++++--- frontend/src/login.jsx | 57 ++++++------- frontend/src/main.jsx | 9 +- 14 files changed, 441 insertions(+), 56 deletions(-) create mode 100644 frontend/imagen.jpg create mode 100644 frontend/logo.png create mode 100644 frontend/src/OfertaEducativa.css create mode 100644 frontend/src/OfertaEducativa.jsx create mode 100644 frontend/src/Preinscripcion.jsx create mode 100644 frontend/src/SubirPDF.jsx delete mode 100644 frontend/src/assets/login.jsx diff --git a/frontend/imagen.jpg b/frontend/imagen.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a4753145df1919611cf21967b4b787acd7dcc68 GIT binary patch literal 41656 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 - -

+
- diff --git a/frontend/logo.png b/frontend/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..325deb2cb1bc74cc36dd4ae21de7089315f09eea GIT binary patch literal 3281 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 P00000NkvXXu0mjfAa5uK literal 0 HcmV?d00001 diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 961eef3..10cc79f 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,8 +8,10 @@ "name": "frontend", "version": "0.0.0", "dependencies": { + "axios": "^1.6.8", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3" }, "devDependencies": { "@types/react": "^18.2.66", @@ -1435,6 +1437,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "engines": { + "node": ">=4" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1450,6 +1465,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1575,6 +1600,17 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1715,6 +1751,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -2290,6 +2334,17 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-selector": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", + "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -2326,6 +2381,25 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -2335,6 +2409,19 @@ "is-callable": "^1.1.3" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3154,6 +3241,25 @@ "yallist": "^3.0.2" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3206,7 +3312,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3470,13 +3575,17 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -3529,11 +3638,26 @@ "react": "^18.2.0" } }, + "node_modules/react-dropzone": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", + "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "dependencies": { + "attr-accept": "^2.2.2", + "file-selector": "^0.6.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "react": ">= 16.8 || 18.0.0" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-refresh": { "version": "0.14.0", @@ -3962,6 +4086,11 @@ "node": ">=4" } }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 39c7fb4..ac37084 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,8 +10,10 @@ "preview": "vite preview" }, "dependencies": { + "axios": "^1.6.8", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3" }, "devDependencies": { "@types/react": "^18.2.66", diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 3a09655..b7e75cb 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -2,10 +2,9 @@ import { useState } from 'react' import reactLogo from './assets/react.svg' import viteLogo from '/vite.svg' import './App.css' -import './login.css' function App() { - //const [count, setCount] = useState(0) + const [usuario, setUsuario]= useState("") const [password, setPassword]= useState("") diff --git a/frontend/src/OfertaEducativa.css b/frontend/src/OfertaEducativa.css new file mode 100644 index 0000000..4a0c572 --- /dev/null +++ b/frontend/src/OfertaEducativa.css @@ -0,0 +1,69 @@ +h1.tituloOE{ + color: rgba(36, 15, 103, 0.922); + text-transform: capitalize; + padding-inline:initial; + margin-top:15%; +} +header.headerOE{ + display: inline; + width: 100%; + height: 18%; +} +div.grupo1{ + background-color: #D5EEBB; + padding: 0%; +} +#logo{ + width: 70px; + height:min-content; +} +div.grupo2{ + background-color: #D5EEBB; + margin-top: 10px; + margin-left: 10px; + text-align: left; +} +li.tit{ + background-color: #D5EEBB; + color:rgba(36, 15, 103, 0.922); + font-size: 120%; +} +nav ul { + list-style-type: none; + background-color:#D5EEBB; +} +nav ul li { + display: inline; + margin-right: 80px; + +} +li a{ + background-color: #D5EEBB; + color:rgb(172, 104, 9); +} +.container{ + display: grid; + grid-template-columns: auto auto auto auto; + gap: 10%; + justify-content: center; /* Centra horizontalmente el contenedor */ + align-items: center; /* Ajusta el ancho del contenedor según sea necesario */ +} +div.area{ + color:rgb(27, 97, 154); + border: 1px solid rgb(27, 97, 154); + font-size: x-large; +} +div.listaLic{ + color: rgb(172, 104, 9); +} +.footerOE{ + font-size:large; + padding: 20px 0; /* Espaciado interno del footer */ + position:fixed; /* Hace que el footer sea fijo en la parte inferior */ + width: 100%; + font-weight: bold; +} + + + + diff --git a/frontend/src/OfertaEducativa.jsx b/frontend/src/OfertaEducativa.jsx new file mode 100644 index 0000000..2e793a3 --- /dev/null +++ b/frontend/src/OfertaEducativa.jsx @@ -0,0 +1,74 @@ +import './OfertaEducativa.css' + +function OfertaEducativa (){ + return ( + <> + +
+ +
+

Oferta Educativa

+
+
+ Área Técnica +
+
    +
  • Licenciatura en Matemáticas
  • +
  • Licenciatura en Física
  • +
  • Licenciatura en Arquitectura
  • +
+
+
+
+ Área Económico-Administrativo +
+
    +
  • Licenciatura en Contabilidad
  • +
  • Licenciatura en Economía
  • +
  • Licenciatura en Administración
  • +
+
+
+
+ Área de Humanidades +
+
    +
  • Licenciatura en historia
  • +
  • Licenciatura en Antropología
  • +
  • Licenciatura en Pedagogía
  • +
+
+
+
+ Área de Biológicas y Agropecuarias +
+
    +
  • Licenciatura en Biología
  • +
  • Ingeniería Química
  • +
  • Ingeniero Agrónomo
  • +
+
+
+
+
+ © 2024 Universidad Filadelfia. Todos los derechos reservados +
+ + + ); +} + +export default OfertaEducativa \ No newline at end of file diff --git a/frontend/src/Preinscripcion.jsx b/frontend/src/Preinscripcion.jsx new file mode 100644 index 0000000..0ffad25 --- /dev/null +++ b/frontend/src/Preinscripcion.jsx @@ -0,0 +1,13 @@ +import SubirPDF from "./SubirPDF"; +import React from 'react'; + +const App = () => { + return ( +
+

Subir archivo PDF

+ +
+ ); +}; + +export default App; diff --git a/frontend/src/SubirPDF.jsx b/frontend/src/SubirPDF.jsx new file mode 100644 index 0000000..e850a21 --- /dev/null +++ b/frontend/src/SubirPDF.jsx @@ -0,0 +1,36 @@ +import React, { useCallback } from 'react'; +import { useDropzone } from 'react-dropzone'; +import axios from 'axios'; + +const SubirPDF = () => { + const onDrop = useCallback(acceptedFiles => { + const file = acceptedFiles[0]; + const formData = new FormData(); + formData.append('pdfFile', file); + + axios.post('http://localhost:${port}', formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then(response => { + // Manejar la respuesta del servidor + console.log(response.data); + }) + .catch(error => { + // Manejar errores + console.error('Error al subir el archivo:', error); + }); + }, []); + + const { getRootProps, getInputProps } = useDropzone({ onDrop }); + + return ( +
+ +

Arrastra y suelta un archivo PDF aquí, o haz clic para seleccionar uno

+
+ ); +}; + +export default SubirPDF; diff --git a/frontend/src/assets/login.jsx b/frontend/src/assets/login.jsx deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/src/login.css b/frontend/src/login.css index a03cbf7..2b1133c 100644 --- a/frontend/src/login.css +++ b/frontend/src/login.css @@ -1,10 +1,19 @@ * { - background-color: #444941; - padding: 0; - margin: 10; + background-color:#d8d8d8; box-sizing: border-box; - font-family:Arial, Helvetica, sans-serif; + flex-direction: column; } + +.gridContainer { + display: grid; + grid-template-columns: 1fr 1fr; /* Dos columnas de ancho igual */ + gap: 50px; /* Espacio entre las columnas */ +} + +.imgColum { + margin-top: auto; +} + .Formulario { font-size: 20px; @@ -18,35 +27,87 @@ input[type="text"], input[type="password"]{ /* align-items: center; */ border-radius: 5px; display: block; - height: 30px; + height: 40px; padding-left: 10px; padding-right: 10px; margin-left: auto; margin-right: auto; + font-size: large; } +header { + color: rgba(36, 15, 103, 0.922); + background-color: #D5EEBB; + padding: 20px 0; /* Espaciado interno del encabezado */ + position: fixed; /* Hace que el encabezado sea fijo */ + width: 100%; /* Ancho completo del encabezado */ + top: 0; /* Lo posiciona en la parte superior */ + z-index: 1000; /* Asegura que esté por encima del contenido */ + font-weight:bold; + font-size: x-large; +} +font{ + background-color: transparent; +} +/*#Formulario{ + min-height: 89vh; +}*/ + +form{ + margin-left: auto; +} + h1{ - color: #D5EEBB; + color: rgb(172, 104, 9); font-family: Jockey One; + text-transform: capitalize; + margin-top: 30%; + padding-left: 30%; } #button{ background-color: #D5EEBB; - margin-top: 20px; + color:rgba(36, 15, 103, 0.922); + margin-top: 30px; stroke: none; font-family: Georgia, 'Times New Roman', Times, serif; font-weight: bold; - padding-top: 100px; - padding: 5px; + text-align: center; + padding: 5px 5px 5px 5px; + height: fit-content; + font-size: x-large; } label{ - color: #D5EEBBAA; + color: rgb(172, 104, 9); font-family: JejuMyeongjo; - font-size: 20px; + font-size: 40px; font-weight: 400; text-align: left; } -.footer{ - color: aliceblue; +footer{ + color: #000000; + background-color: #D5EEBB; + padding: 20px 0; /* Espaciado interno del footer */ + position: absolute; /* Hace que el footer sea fijo en la parte inferior */ + width: 100%; /* Ancho completo del footer */ + bottom: 0; /* Lo posiciona en la parte inferior */ + display: flex; + justify-content: center; + align-items: center; + flex-direction: row; +} +#footerId{ + margin-left: 15px; + margin-right: 15px; + text-align: center; + font-size: large; + background-color: transparent; + font-weight: bold; +} + +div a{ + background-color: #D5EEBB; + color:rgb(172, 104, 9); + font-weight: bold; } diff --git a/frontend/src/login.jsx b/frontend/src/login.jsx index b23be85..b84fdb8 100644 --- a/frontend/src/login.jsx +++ b/frontend/src/login.jsx @@ -1,34 +1,35 @@ -import { useState } from 'react' import './login.css' function Login() { - - return ( - <> -
La universidad que esta para ti, ¡UNETE!
-
- -

Bienvenido

-
- - - - - - - -
+ return ( + <> + +
La universidad que esta para ti, ¡UNETE!
+
+
+ Imagen +
+
+

Bienvenido

+
+ + + + + +
+
-
- -
- - ); + + + + + ); } -export default Login \ No newline at end of file +export default Login + diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 9685dfc..a164f00 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -3,10 +3,15 @@ import ReactDOM from 'react-dom/client' import App from './App.jsx' import './index.css' import Login from './login.jsx' +import OfertaEducativa from './OfertaEducativa.jsx' +import Preinscripcion from './Preinscripcion.jsx' +import SubirPDF from './SubirPDF.jsx' + ReactDOM.createRoot(document.getElementById('root')).render( - - + + + , ) From f5d5b659097cfc4adb4a0f8fb0d7e4a8fa8f32e9 Mon Sep 17 00:00:00 2001 From: Soka_jplr Date: Mon, 6 May 2024 08:01:27 -0600 Subject: [PATCH 3/4] backend 1.1 --- backend/Controller/Consultas.java | 3 - backend/src/main/java/mx/uv/App.java | 56 ++++++-- .../main/java/mx/uv/Controller/Conexion.java | 56 ++++++++ .../src/main/java/mx/uv/Controller/DAO.java | 124 ++++++++++++++++++ .../main/java/mx/uv/Model}/Administrador.java | 2 + .../main/java/mx/uv/Model}/Alumno.java | 12 +- .../main/java/mx/uv/Model}/Tutor.java | 1 + 7 files changed, 234 insertions(+), 20 deletions(-) delete mode 100644 backend/Controller/Consultas.java create mode 100644 backend/src/main/java/mx/uv/Controller/Conexion.java create mode 100644 backend/src/main/java/mx/uv/Controller/DAO.java rename backend/{model => src/main/java/mx/uv/Model}/Administrador.java (98%) rename backend/{model => src/main/java/mx/uv/Model}/Alumno.java (92%) rename backend/{model => src/main/java/mx/uv/Model}/Tutor.java (98%) diff --git a/backend/Controller/Consultas.java b/backend/Controller/Consultas.java deleted file mode 100644 index 5ecf421..0000000 --- a/backend/Controller/Consultas.java +++ /dev/null @@ -1,3 +0,0 @@ -public class Consultas { - -} diff --git a/backend/src/main/java/mx/uv/App.java b/backend/src/main/java/mx/uv/App.java index 16b2af1..13e0693 100644 --- a/backend/src/main/java/mx/uv/App.java +++ b/backend/src/main/java/mx/uv/App.java @@ -2,27 +2,63 @@ package mx.uv; import static spark.Spark.*; import java.util.HashMap; -import java.util.UUID; import com.google.gson.*; + +import mx.uv.Controller.DAO; +import mx.uv.Model.*; + public class App { + static Gson gson = new Gson(); + static HashMap usuarios = new HashMap<>(); public static void main( String[] args ) { - System.out.println( "Hello World!" ); - //port(80); + //fuente:https://gist.github.com/saeidzebardast/e375b7d17be3e0f4dddf + 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"; + }); - get("/usuarios", (request, response) ->{ + before((request,response)->response.header("Access-Control-Allow-Origin","*")); + + get("/TodosLosAlumnos", (request, response) ->{ response.type("application/json"); - JsonObject respuesta = new JsonObject(); - respuesta.addProperty("msj", "hola"); - return respuesta; + return gson.toJson(DAO.dameUsuarios()); }); - post("/usuarios", (request, response) ->{ + post("/agregarAlumno", (request, response) ->{ String payload = request.body(); + Alumno alumno = gson.fromJson(payload, Alumno.class); + + boolean msj = DAO.agregarAlumno(new Alumno("Pedro","Lazaro","Mexicano","SAKHBD197", "PezGato")); JsonObject respuesta = new JsonObject(); - respuesta.addProperty("msj", ""); + respuesta.addProperty("msj", msj); return respuesta; }); + put("/EditarAlumno", (request, response) ->{ + String payload = request.body(); + Alumno alumno = gson.fromJson(payload, Alumno.class); + boolean verificado = DAO.editarAlumno(alumno); + JsonObject respuesta = new JsonObject(); + respuesta.addProperty("existe", verificado); + return respuesta; + }); + delete("/EliminarAlumno", (request, response) ->{ + String payload = request.body(); + Alumno alumno = gson.fromJson(payload, Alumno.class); + boolean verificado = DAO.eliminarAlumno(alumno); + JsonObject respuesta = new JsonObject(); + respuesta.addProperty("existe", verificado); + return respuesta; + }); + + } -} +} \ No newline at end of file diff --git a/backend/src/main/java/mx/uv/Controller/Conexion.java b/backend/src/main/java/mx/uv/Controller/Conexion.java new file mode 100644 index 0000000..8537309 --- /dev/null +++ b/backend/src/main/java/mx/uv/Controller/Conexion.java @@ -0,0 +1,56 @@ +package mx.uv.Controller; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.util.logging.Logger; + +public class Conexion { + + private static Connection conexion; + private static Conexion instancia; + private static final String url = "jdbc:mysql://localhost:3306/universidad"; + private static final String user = "root"; + private static final String password = "Perro16tonto"; + private static final Logger logger = Logger.getLogger(Conexion.class.getName()); + + private Conexion() {} + + public static Conexion getInstance() { + if (instancia == null) { + synchronized (Conexion.class) { + if (instancia == null) { + instancia = new Conexion(); + } + } + } + return instancia; + } + + public Connection conectar() { + try { + Class.forName("com.mysql.cj.jdbc.Driver"); + conexion = DriverManager.getConnection(url, user, password); + if (conexion != null) { + logger.info("Conexión exitosa"); + return conexion; + } else { + logger.severe("ERROR: No se pudo conectar"); + } + } catch (Exception e) { + logger.severe("ERROR: " + e.getMessage()); + } + return null; + } + + public void cerrarConexion() { + try { + if (conexion != null && !conexion.isClosed()) { + conexion.close(); + logger.info("Se desconectó de la base de datos"); + } + } catch (SQLException e) { + logger.severe("ERROR: " + e.getMessage()); + } + } +} diff --git a/backend/src/main/java/mx/uv/Controller/DAO.java b/backend/src/main/java/mx/uv/Controller/DAO.java new file mode 100644 index 0000000..f3cf49d --- /dev/null +++ b/backend/src/main/java/mx/uv/Controller/DAO.java @@ -0,0 +1,124 @@ +package mx.uv.Controller; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + + +import mx.uv.Model.Alumno; + +public class DAO { + private static Conexion cn = Conexion.getInstance(); + + public static List dameUsuarios() { + Statement stm = null; + ResultSet rs = null; + Connection conn = null; + List resultado = new ArrayList<>(); + + conn = cn.conectar(); + + try { + String sql = "SELECT * from alumno"; + stm = conn.createStatement(); + rs = stm.executeQuery(sql); + while (rs.next()) { + Alumno u = new Alumno(rs.getInt(1), rs.getString(2), rs.getString(3),rs.getString(4), rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8)); + resultado.add(u); + } + } catch (Exception e) { + System.out.println(e); + } finally { + cerrarConexiones(null, conn); + } + return resultado; + } + public static boolean validarAlumno(Alumno alumno) { + Statement stm = null; + Connection conn = null; + boolean verificacion =false; + ResultSet rs = null; + conn = cn.conectar(); + try { + String sql ="select * from usuarios " + + "where matricula= '"+alumno.getMatricula()+"' and contrasena='"+alumno.getContrasena()+"'"; + stm = (Statement) conn.createStatement(); + rs = stm.executeQuery(sql); + if(rs.next()){ + verificacion = true; + }else{ + verificacion = false; + } + conn.close(); + } catch (SQLException ex) { + System.err.println(ex); + } + return verificacion; + } + + public static boolean agregarAlumno(Alumno alumno) { + PreparedStatement stm = null; + Connection conn = null; + boolean msj= false; + + conn = cn.conectar(); + try { + String sql = "INSERT INTO `alumno`(`nombre`,`apellido`,`nacionalidad`,`matricula`,`contrasena`)VALUES(?,?,?,?,?);"; + stm = (PreparedStatement) conn.prepareStatement(sql); + stm.setString(1, alumno.getNombre()); + stm.setString(2, alumno.getApellido()); + stm.setString(3, alumno.getNacionalidad()); + stm.setString(4, alumno.getMatricula()); + stm.setString(5, alumno.getContrasena()); + if (stm.executeUpdate() > 0) + msj = true; + else + msj = false; + + } catch (Exception e) { + System.out.println(e); + } finally { + cerrarConexiones(stm,conn); + } + return msj; + } + + private static void cerrarConexiones(PreparedStatement stm,Connection conn) { + if (stm != null) { + try { + stm.close(); + } catch (Exception e) { + System.out.println(e); + } + stm = null; + } + try { + conn.close(); + cn.cerrarConexion(); + } catch (Exception e) { + System.out.println(e); + } + } + public static boolean eliminarAlumno(Alumno alumno) { + + return false; + } + public static boolean editarAlumno(Alumno alumno) { + PreparedStatement stm = null; + Connection conn = null; + boolean verificacion =false; + conn = cn.conectar(); + try { + String sql ="UPDATE `producto` SET `nombreProducto` = '"+p.getNombreProducto()+"',`precio` = '"+p.getPrecio()+"',`cantidad` = '"+p.getCantidad()+"',`imagen` = '"+p.getImagen()+"'WHERE `id` = '"+p.getId()+"';"; + stm = conn.prepareStatement(sql); + stm.executeUpdate(); + verificacion = true; + conn.close(); + } catch (SQLException ex) { + System.err.println(ex); + }finally{ + actualizarVenta(p); + } + return verificacion; + } +} diff --git a/backend/model/Administrador.java b/backend/src/main/java/mx/uv/Model/Administrador.java similarity index 98% rename from backend/model/Administrador.java rename to backend/src/main/java/mx/uv/Model/Administrador.java index a400694..4d2ba05 100644 --- a/backend/model/Administrador.java +++ b/backend/src/main/java/mx/uv/Model/Administrador.java @@ -1,3 +1,5 @@ +package mx.uv.Model; + public class Administrador { private int id; private String matricula; diff --git a/backend/model/Alumno.java b/backend/src/main/java/mx/uv/Model/Alumno.java similarity index 92% rename from backend/model/Alumno.java rename to backend/src/main/java/mx/uv/Model/Alumno.java index d7a0f0e..7ab862b 100644 --- a/backend/model/Alumno.java +++ b/backend/src/main/java/mx/uv/Model/Alumno.java @@ -1,4 +1,4 @@ -package model; +package mx.uv.Model; // * Clase Alumno que servira para comunicarse con el controlador. public class Alumno { private int id; @@ -25,23 +25,21 @@ public class Alumno { public Alumno() { } - public Alumno(int id, String nombre, String apellido, String nacionalidad) { - this.id = id; + public Alumno(String nombre, String apellido, String nacionalidad, String matricula, String contrasena) { this.nombre = nombre; this.apellido = apellido; this.nacionalidad = nacionalidad; - } - - public Alumno(int id, String matricula, String contrasena) { - this.id = id; this.matricula = matricula; this.contrasena = contrasena; } + public Alumno(String matricula, String contrasena) { this.matricula = matricula; this.contrasena = contrasena; } + + public void setId(int id) { this.id = id; } diff --git a/backend/model/Tutor.java b/backend/src/main/java/mx/uv/Model/Tutor.java similarity index 98% rename from backend/model/Tutor.java rename to backend/src/main/java/mx/uv/Model/Tutor.java index 117ff18..b410300 100644 --- a/backend/model/Tutor.java +++ b/backend/src/main/java/mx/uv/Model/Tutor.java @@ -1,3 +1,4 @@ +package mx.uv.Model; public class Tutor { private int id; private String nombre; From 91d9e54cddc162ce7148b4399f21e9c91b03a722 Mon Sep 17 00:00:00 2001 From: Soka_jplr Date: Mon, 6 May 2024 08:01:58 -0600 Subject: [PATCH 4/4] backend 1.1 --- Base/universidad.sql | 7 ++----- frontend/index.html | 4 ---- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/Base/universidad.sql b/Base/universidad.sql index 89a2c61..c77d89e 100644 --- a/Base/universidad.sql +++ b/Base/universidad.sql @@ -11,15 +11,12 @@ drop table alumno; create table alumno( id integer auto_increment primary key, nombre varchar(40), - apellidos varchar(100), + apellido varchar(100), fecha_nacimiento date, nacionalidad varchar(40), tipoSangre varchar(40), matricula varchar(40), - contraseña varchar(40), - estado varchar(40), - municipio varchar(40), - dirreccion varchar(100) + contrasena varchar(40), ); drop table examen; diff --git a/frontend/index.html b/frontend/index.html index ee94bcf..771b0be 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,11 +4,7 @@ -<<<<<<< HEAD Registro -======= - SIU_Dran_net ->>>>>>> 48e69d3c4957e0bdf3d622c1408a569a14d5a80c