From 4a44c1109968ae1c553f91353e9906671aff12d2 Mon Sep 17 00:00:00 2001 From: ZAnaKarenZ <117191903+ZAnaKarenZ@users.noreply.github.com> Date: Sat, 1 Jun 2024 22:29:16 -0600 Subject: [PATCH 1/2] FunctionSimulated --- LearnIA/app/routes/_main.explora.jsx | 63 +++++++++++-------- .../app/styles/ExploraCollapsibleSection.css | 14 +++-- ....timestamp-1717282219478-1e339005fe794.mjs | 13 ++++ 3 files changed, 58 insertions(+), 32 deletions(-) create mode 100644 LearnIA/vite.config.js.timestamp-1717282219478-1e339005fe794.mjs diff --git a/LearnIA/app/routes/_main.explora.jsx b/LearnIA/app/routes/_main.explora.jsx index b683e98..0662cdd 100644 --- a/LearnIA/app/routes/_main.explora.jsx +++ b/LearnIA/app/routes/_main.explora.jsx @@ -8,32 +8,43 @@ import ExploraCollapsibleSemestre from "../components/ExploraCollapsibleSemestre import ExploraCollapsibleMateria from "../components/ExploraCollapsibleMateria"; function explora() { - - return ( -
- - -
- - -
- - -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam - elementum faucibus mollis. Mauris vel lacinia libero. Proin - luctus semper sem, ac posuere velit. -

- -
-
-
-
-
-
-
- ); +const courses = [ + { + "semesters": [ + { + "name": "Semestre 2", + "subjects": ["Programación Orientada a Objetos", "Modelación de sistemas electromagnéticos", "Biología computacional"] + }, + { + "name": "Semestre 3", + "subjects": ["Algoritmos fundamentales", "Internet de las cosas", "Ecuaciones diferenciales"] + } + ] + } + ]; + return ( +
+ + +
+ {courses[0].semesters.map((semester, index) => ( + +
+ {semester.subjects.map((subject, subIndex) => ( + +
+

{subject}

+ +
+
+ ))} +
+
+ ))} +
+
+
+ ); } export default explora; diff --git a/LearnIA/app/styles/ExploraCollapsibleSection.css b/LearnIA/app/styles/ExploraCollapsibleSection.css index d1ea4d0..bae5ec0 100644 --- a/LearnIA/app/styles/ExploraCollapsibleSection.css +++ b/LearnIA/app/styles/ExploraCollapsibleSection.css @@ -85,7 +85,7 @@ cursor: pointer; padding: 18px; width: calc(100% - 80px); - border: 2px solid #132941; + border: 1.5px solid #132941; text-align: left; outline: none; font-size: 25px; @@ -162,12 +162,13 @@ color: #132941; cursor: pointer; padding: 10px 18px; + padding-left: 30px; width: calc(100%); - border: 2px solid #132941; + border: 1.5px solid #132941; text-align: left; outline: none; - font-size: 21px; - font-weight: 500; + font-size: 18px; + font-weight: 600; border-radius: 0px; margin-left: 0px; margin-right: 0px; @@ -237,11 +238,12 @@ color: #132941; cursor: pointer; padding: 5px 18px; + padding-left: 60px; width: calc(100%); - border: 2px solid #132941; + border: 1.3333333px solid #132941; text-align: left; outline: none; - font-size: 21px; + font-size: 15px; font-weight: 500; border-radius: 0px; margin-left: 0px; diff --git a/LearnIA/vite.config.js.timestamp-1717282219478-1e339005fe794.mjs b/LearnIA/vite.config.js.timestamp-1717282219478-1e339005fe794.mjs new file mode 100644 index 0000000..3b4a8c8 --- /dev/null +++ b/LearnIA/vite.config.js.timestamp-1717282219478-1e339005fe794.mjs @@ -0,0 +1,13 @@ +// vite.config.js +import { vitePlugin as remix } from "file:///C:/Users/akzm2/Documents/Universidad%20TEC/Cuarto%20Semestre/LearnIA/LearnIA/LearnIA/node_modules/@remix-run/dev/dist/index.js"; +import { defineConfig } from "file:///C:/Users/akzm2/Documents/Universidad%20TEC/Cuarto%20Semestre/LearnIA/LearnIA/LearnIA/node_modules/vite/dist/node/index.js"; +var vite_config_default = defineConfig({ + plugins: [remix()], + test: { + // ... + } +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxha3ptMlxcXFxEb2N1bWVudHNcXFxcVW5pdmVyc2lkYWQgVEVDXFxcXEN1YXJ0byBTZW1lc3RyZVxcXFxMZWFybklBXFxcXExlYXJuSUFcXFxcTGVhcm5JQVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcYWt6bTJcXFxcRG9jdW1lbnRzXFxcXFVuaXZlcnNpZGFkIFRFQ1xcXFxDdWFydG8gU2VtZXN0cmVcXFxcTGVhcm5JQVxcXFxMZWFybklBXFxcXExlYXJuSUFcXFxcdml0ZS5jb25maWcuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL2Frem0yL0RvY3VtZW50cy9Vbml2ZXJzaWRhZCUyMFRFQy9DdWFydG8lMjBTZW1lc3RyZS9MZWFybklBL0xlYXJuSUEvTGVhcm5JQS92aXRlLmNvbmZpZy5qc1wiOy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZXN0XCIgLz5cclxuaW1wb3J0IHsgdml0ZVBsdWdpbiBhcyByZW1peCB9IGZyb20gXCJAcmVtaXgtcnVuL2RldlwiO1xyXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcclxuXHRwbHVnaW5zOiBbcmVtaXgoKV0sXHJcblx0dGVzdDoge1xyXG5cdFx0Ly8gLi4uXHJcblx0fSxcclxufSk7XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLGNBQWMsYUFBYTtBQUNwQyxTQUFTLG9CQUFvQjtBQUU3QixJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUMzQixTQUFTLENBQUMsTUFBTSxDQUFDO0FBQUEsRUFDakIsTUFBTTtBQUFBO0FBQUEsRUFFTjtBQUNELENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg== From eef38d1e89a39df1dcdabc72e968f2f3c330ce39 Mon Sep 17 00:00:00 2001 From: ZAnaKarenZ <117191903+ZAnaKarenZ@users.noreply.github.com> Date: Tue, 4 Jun 2024 19:15:12 -0600 Subject: [PATCH 2/2] Inscribirse/Darse de baja/Front --- LearnIA/app/routes/_main.explora.jsx | 20 +++++++- LearnIA/prisma/schema.prisma | 75 ++++++++++++++++------------ 2 files changed, 63 insertions(+), 32 deletions(-) diff --git a/LearnIA/app/routes/_main.explora.jsx b/LearnIA/app/routes/_main.explora.jsx index b49408a..61ee6c3 100644 --- a/LearnIA/app/routes/_main.explora.jsx +++ b/LearnIA/app/routes/_main.explora.jsx @@ -22,6 +22,18 @@ const courses = [ ] } ]; + + //Estado de inscripción + const [enrollmentStatus, setEnrollmentStatus] = useState({}); + + //Cambiar al estado anterior cada vez que se presiona el botón (Inscrito / No inscrito) + const handleEnrollmentClick = (subject) => { + setEnrollmentStatus((prevStatus) => ({ + ...prevStatus, + [subject]: !prevStatus[subject] + })); + }; + return (
@@ -34,7 +46,13 @@ const courses = [

{subject}

- +
))} diff --git a/LearnIA/prisma/schema.prisma b/LearnIA/prisma/schema.prisma index 5d3d352..797f075 100644 --- a/LearnIA/prisma/schema.prisma +++ b/LearnIA/prisma/schema.prisma @@ -8,68 +8,72 @@ datasource db { } model Carrera { - idCarrera Int @id @unique(map: "idCarrera_UNIQUE") @default(autoincrement()) - nombre String? @unique(map: "nombre_UNIQUE") @db.VarChar(45) - escuela String? @unique(map: "escuela_UNIQUE") @db.VarChar(45) - materias String? @unique(map: "materias_UNIQUE") @db.VarChar(45) - estudiante Estudiante[] - materia Materia[] + idCarrera Int @id @unique(map: "idCarrera_UNIQUE") @default(autoincrement()) + siglasCarrera String? @db.VarChar(45) + escuela String? @db.VarChar(45) + nombre String? @db.VarChar(45) + estudiante Estudiante[] + materia Materia[] } model Curso { - idCurso Int @id @unique(map: "idCurso_UNIQUE") @default(autoincrement()) - idEstudiante Int - idMateria Int - temasCompletados String? @db.VarChar(45) - temasCursar String? @db.VarChar(45) - plazo String? @db.VarChar(45) - idEvaluaciones Int @unique(map: "idEvaluaciones_UNIQUE") - estudiante Estudiante @relation(fields: [idEstudiante], references: [idEstudiante], onDelete: Cascade, map: "fk_Curso_Estudiante") - evaluaciones Evaluaciones @relation(fields: [idEvaluaciones], references: [idEvaluaciones], onDelete: Cascade, map: "fk_Curso_Evaluaciones") - materia Materia @relation(fields: [idMateria], references: [idMateria], onDelete: Cascade, map: "fk_Curso_Materia") + idCurso Int @id @unique(map: "idCurso_UNIQUE") @default(autoincrement()) + idEstudiante Int + idMateria Int + plazo String? @db.VarChar(45) + idEvaluaciones Int @unique(map: "idEvaluaciones_UNIQUE") + descripcion String? @db.VarChar(45) + completado String? @db.VarChar(45) + proyectosRec String? @db.VarChar(45) + estudiante Estudiante @relation(fields: [idEstudiante], references: [idEstudiante], onDelete: Cascade, map: "fk_Curso_Estudiante") + evaluaciones Evaluaciones @relation(fields: [idEvaluaciones], references: [idEvaluaciones], onDelete: Cascade, map: "fk_Curso_Evaluaciones") + materia Materia @relation(fields: [idMateria], references: [idMateria], onDelete: Cascade, map: "fk_Curso_Materia") + Tema Tema[] @@index([idEstudiante], map: "fk_Curso_Estudiante") @@index([idMateria], map: "idMateria_idx") } model Estudiante { - idEstudiante Int @id @unique(map: "idEstudiante_UNIQUE") @default(autoincrement()) - nombre String @db.VarChar(45) - idCarrera Int? - correo String @unique(map: "correo_UNIQUE") @db.VarChar(45) - cursosCompletados String? @db.VarChar(45) - cursosInscritos String? @db.VarChar(45) - curso Curso[] - carrera Carrera? @relation(fields: [idCarrera], references: [idCarrera], onDelete: Cascade, map: "idCarrera") + idEstudiante Int @id @unique(map: "idEstudiante_UNIQUE") @default(autoincrement()) + nombre String @db.VarChar(45) + idCarrera Int? + correo String @unique(map: "correo_UNIQUE") @db.VarChar(45) + curso Curso[] + carrera Carrera? @relation(fields: [idCarrera], references: [idCarrera], onDelete: Cascade, map: "idCarrera") + Evaluaciones Evaluaciones[] @@index([idCarrera], map: "idCarrera_idx") } model Evaluaciones { - idEvaluaciones Int @id @unique(map: "idEvaluaciones_UNIQUE") + idEvaluaciones Int @id @unique(map: "idEvaluaciones_UNIQUE") quizInicial Int quiz1 Int? quiz2 Int? final Int? + idEstudiante Int Curso Curso? - quiz_Evaluaciones_finalToQuiz Quiz? @relation("Evaluaciones_finalToQuiz", fields: [final], references: [idQuiz], onDelete: Cascade, map: "final") - quiz_Evaluaciones_quiz1ToQuiz Quiz? @relation("Evaluaciones_quiz1ToQuiz", fields: [quiz1], references: [idQuiz], onDelete: Cascade, map: "quiz1") - quiz_Evaluaciones_quiz2ToQuiz Quiz? @relation("Evaluaciones_quiz2ToQuiz", fields: [quiz2], references: [idQuiz], onDelete: Cascade, map: "quiz2") - quiz_Evaluaciones_quizInicialToQuiz Quiz @relation("Evaluaciones_quizInicialToQuiz", fields: [quizInicial], references: [idQuiz], onDelete: Cascade, map: "quizInicial") + quiz_Evaluaciones_finalToQuiz Quiz? @relation("Evaluaciones_finalToQuiz", fields: [final], references: [idQuiz], onDelete: NoAction, onUpdate: NoAction, map: "final") + Estudiante Estudiante @relation(fields: [idEstudiante], references: [idEstudiante], onDelete: NoAction, onUpdate: NoAction, map: "idEstudiante") + quiz_Evaluaciones_quiz1ToQuiz Quiz? @relation("Evaluaciones_quiz1ToQuiz", fields: [quiz1], references: [idQuiz], onDelete: NoAction, onUpdate: NoAction, map: "quiz1") + quiz_Evaluaciones_quiz2ToQuiz Quiz? @relation("Evaluaciones_quiz2ToQuiz", fields: [quiz2], references: [idQuiz], onDelete: NoAction, onUpdate: NoAction, map: "quiz2") + quiz_Evaluaciones_quizInicialToQuiz Quiz @relation("Evaluaciones_quizInicialToQuiz", fields: [quizInicial], references: [idQuiz], onDelete: NoAction, onUpdate: NoAction, map: "quizInicial") - @@index([final], map: "final_idx") + @@index([final, idEvaluaciones], map: "final_idx") @@index([quiz1], map: "quiz1_idx") @@index([quiz2], map: "quiz2_idx") @@index([quizInicial], map: "quizInicial_idx") + @@index([idEstudiante], map: "idEstudiante_idx") } model Materia { idMateria Int @id @unique(map: "idMateria_UNIQUE") idCarrera Int? nombre String? @db.VarChar(45) - temas String? @db.VarChar(45) semestre Int? idMateriaTec String @unique(map: "idMateriaTec_UNIQUE") @db.VarChar(45) + objetivos String? @db.VarChar(45) curso Curso[] carrera Carrera? @relation(fields: [idCarrera], references: [idCarrera], onDelete: Cascade, map: "fk_Materia_Carrera") @@ -86,3 +90,12 @@ model Quiz { evaluaciones_Evaluaciones_quiz2ToQuiz Evaluaciones[] @relation("Evaluaciones_quiz2ToQuiz") evaluaciones_Evaluaciones_quizInicialToQuiz Evaluaciones[] @relation("Evaluaciones_quizInicialToQuiz") } + +model Tema { + idTema Int @id + idCurso Int? + completado String? @db.VarChar(45) + Curso Curso? @relation(fields: [idCurso], references: [idCurso], onDelete: NoAction, onUpdate: NoAction, map: "idCurso") + + @@index([idCurso], map: "idCurso_idx") +}