Skip to content

Commit 391c022

Browse files
Merge pull request #106 from PowerSystem2024/develop
pasaje de rama develop a main para sacar tag. Contiene del cuarto semestre: Java: clase 1 a 3 - Lección 01/estudiantes Python: clase 1 a 3 - incluye práctica laboratorio Javascript: clase 1 a 4 - completado el ecommerce proyecto avatar: completado Gestion de desarrollo de software: actividad 1 Node: clase 1 a 3
2 parents 10fdb0d + f11f471 commit 391c022

69 files changed

Lines changed: 4273 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,3 @@
99
- Suarez Jonathan
1010
💻 ⌨️ 💾 ⚙️ 🎸 🖥️ 🧠
1111

12-
***Importante: La rama donde trabajamos y subimos los cambios en primera instancia es feature. Si en main no ven cambios , revisen la rama feature.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/* Estilos generales */
2+
* {
3+
margin: 0px;
4+
padding: 0px;
5+
list-style: none;
6+
text-decoration: none;
7+
font-family: sans-serif;
8+
}
9+
10+
/* Clase contenedor */
11+
.contenedor {
12+
position: relative;
13+
margin: auto;
14+
width: 100%;
15+
height: auto;
16+
}
17+
18+
/* Clase fila */
19+
.fila {
20+
position: relative;
21+
margin: auto;
22+
width: 100%;
23+
height: auto;
24+
}
25+
26+
/* Clase columna */
27+
.col-12 {
28+
width: 100%;
29+
padding: 20px;
30+
box-sizing: border-box;
31+
}
32+
33+
/* Otros estilos */
34+
body {
35+
background-color: #f5f5f5;
36+
color: #333;
37+
}
38+
39+
h1 {
40+
text-align: center;
41+
margin-bottom: 30px;
42+
color: #2c3e50;
43+
}
44+
45+
h2, h3 {
46+
margin-bottom: 15px;
47+
color: #34495e;
48+
}
49+
50+
p {
51+
line-height: 1.6;
52+
margin-bottom: 15px;
53+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<!DOCTYPE html>
2+
<html lang="es">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Sistema de Columnas Responsivo</title>
7+
<link rel="stylesheet" href="columnas.css">
8+
</head>
9+
<body>
10+
<div class="contenedor">
11+
<h1>Sistema de Columnas Responsivo</h1>
12+
<div class="fila">
13+
<div class="col-12">
14+
<h2>Columna de Ancho Completo</h2>
15+
<p>Esta columna ocupa el 100% del ancho disponible en cualquier dispositivo.</p>
16+
</div>
17+
</div>
18+
<div class="fila">
19+
<div class="col-12">
20+
<h3>Ejemplo de Diseño Responsivo</h3>
21+
<p>El diseño responsivo permite que las páginas web se adapten automáticamente a diferentes tamaños de pantalla, desde computadoras de escritorio hasta dispositivos móviles.</p>
22+
</div>
23+
</div>
24+
</div>
25+
</body>
26+
</html>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html lang="es">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Diseño Web Responsivo</title>
7+
</head>
8+
<body>
9+
<h1>Proyecto de Diseño Web Responsivo</h1>
10+
<p>Este es el archivo principal del proyecto.</p>
11+
<a href="columnas.html">Ver página de columnas</a>
12+
</body>
13+
</html>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
!**/src/main/**/target/
4+
!**/src/test/**/target/
5+
6+
### IntelliJ IDEA ###
7+
.idea/modules.xml
8+
.idea/jarRepositories.xml
9+
.idea/compiler.xml
10+
.idea/libraries/
11+
*.iws
12+
*.iml
13+
*.ipr
14+
15+
### Eclipse ###
16+
.apt_generated
17+
.classpath
18+
.factorypath
19+
.project
20+
.settings
21+
.springBeans
22+
.sts4-cache
23+
24+
### NetBeans ###
25+
/nbproject/private/
26+
/nbbuild/
27+
/dist/
28+
/nbdist/
29+
/.nb-gradle/
30+
build/
31+
!**/src/main/**/build/
32+
!**/src/test/**/build/
33+
34+
### VS Code ###
35+
.vscode/
36+
37+
### Mac OS ###
38+
.DS_Store
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>UTN</groupId>
8+
<artifactId>estudiante</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<dependencies>
12+
<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
13+
<dependency>
14+
<groupId>com.mysql</groupId>
15+
<artifactId>mysql-connector-j</artifactId>
16+
<version>9.3.0</version>
17+
</dependency>
18+
</dependencies>
19+
20+
<properties>
21+
<maven.compiler.source>24</maven.compiler.source>
22+
<maven.compiler.target>24</maven.compiler.target>
23+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
24+
</properties>
25+
26+
</project>
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
package UTN;
2+
3+
import UTN.conexion.Conexion;
4+
import UTN.datos.EstudianteDAO;
5+
import UTN.dominio.Estudiante;
6+
7+
import java.util.List;
8+
import java.util.Scanner;
9+
10+
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
11+
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
12+
public class SistemaEstudiantesApp {
13+
public static void main(String[] args) {
14+
Scanner entrada = new Scanner(System.in);
15+
var salir = false;
16+
//Se crea una instancia de la clase servicio, esto lo hacemos fuera del ciclo
17+
var estudianteDao = new EstudianteDAO();
18+
19+
//Empezamos con el menu
20+
while (!salir) {
21+
try {
22+
// Mostrar menu
23+
mostrarMenu();
24+
//Este sera el metodo ejercutarOpcion que devolvera un booleano
25+
salir = ejecutarOperacion(entrada, estudianteDao); //Este arroja una exception
26+
}catch (Exception e){
27+
System.out.println("Ocurrio un error: "+e.getMessage());
28+
}
29+
System.out.println();
30+
}
31+
} // Fin main
32+
33+
private static void mostrarMenu(){
34+
//Mostramos las opciones
35+
System.out.println("""
36+
*** Sistema de Estudiantes ***
37+
1. Listar estudiantes
38+
2. Buscar estudiante
39+
3. Agregar estudiante
40+
4. Modificar estudiante
41+
5. Eliminar estudiante
42+
6. Salir
43+
Elige una opcion:
44+
""");
45+
} // Fin mostrarMenu
46+
47+
//Metodo para ejecutar las opciones, va a regresar un valor booleano, ya que es el que
48+
//puede modificar el valor de la variable salir, si es verdadero termina el ciclo while
49+
private static boolean ejecutarOperacion(Scanner entrada, EstudianteDAO estudianteDao){
50+
//Elegir opcion
51+
var opcion = Integer.parseInt(entrada.nextLine());
52+
System.out.println();
53+
var salir = false;
54+
switch (opcion){
55+
case 1 -> {
56+
//Listar
57+
System.out.println("** Lista de Estudiante **");
58+
// no muestra la informacion, solo recupera la info y regresa una lista
59+
List<Estudiante> estudiantes = estudianteDao.listarEstudiantes();// recibe el listado
60+
//vamos a iterar cada objeto de tipo estudiante
61+
estudiantes.forEach(System.out::println); // para imprimir lista
62+
return salir;
63+
}//Fin caso 1
64+
65+
case 2 -> {
66+
//Buscar por id
67+
System.out.println("** Buscar un Estudiante **");
68+
System.out.println("Ingresar el id del estudiante a buscar: ");
69+
int idEstudiante = Integer.parseInt(entrada.nextLine());
70+
var estudianteBuscado = new Estudiante(idEstudiante);
71+
var encontrado = estudianteDao.buscarEstudiantePorId(estudianteBuscado);
72+
if (encontrado)
73+
System.out.println("Estudiante encontrado: " + estudianteBuscado);
74+
else
75+
System.out.println("No se encontro el estudiante: " + estudianteBuscado.getIdEstudiante());
76+
return salir;
77+
}//Fin caso 2
78+
79+
case 3 -> {
80+
//Agregar
81+
System.out.println("** Agregar un Estudiante **");
82+
System.out.println("Ingresar el nombre: ");
83+
String nombre = entrada.nextLine();
84+
System.out.println("Ingresar el apellido: ");
85+
String apellido = entrada.nextLine();
86+
System.out.println("Ingresar el telefono: ");
87+
String telefono = entrada.nextLine();
88+
System.out.println("Ingresar el email: ");
89+
String email = entrada.nextLine();
90+
91+
var nuevoEstudiante = new Estudiante(nombre, apellido, telefono, email);
92+
var agregado = estudianteDao.agregarEstudiante(nuevoEstudiante);
93+
if (agregado) {
94+
System.out.println("Estudiante agregado: " + nuevoEstudiante);
95+
} else {
96+
System.out.println("No se ha agregado estudiante: " + nuevoEstudiante);
97+
}
98+
}//Fin caso 3
99+
100+
case 4 -> {//Modificar
101+
System.out.println("** Modificar un Estudiante **");
102+
System.out.println("Ingresar el id del estudiante a modificar: ");
103+
int idModificar = Integer.parseInt(entrada.nextLine());
104+
System.out.println("Ingresar el nombre: ");
105+
String nombreModificar = entrada.nextLine();
106+
System.out.println("Ingresar el apellido: ");
107+
String apellidoModificar = entrada.nextLine();
108+
System.out.println("Ingresar el telefono: ");
109+
String telefonoModificar = entrada.nextLine();
110+
System.out.println("Ingresar el email: ");
111+
String emailModificar = entrada.nextLine();
112+
var estudianteModificado = new Estudiante(idModificar, nombreModificar, apellidoModificar, telefonoModificar, emailModificar);
113+
var modificado = estudianteDao.modificarEstudiante(estudianteModificado);
114+
if (modificado) {
115+
System.out.println("Estudiante modificado: " + estudianteModificado);
116+
} else {
117+
System.out.println("No se modifico el estudiante: " + estudianteModificado);
118+
}
119+
}// Fin caso 4
120+
121+
case 5 -> {
122+
//Eliminar
123+
System.out.println("** Eliminar un Estudiante **");
124+
System.out.println("Ingresar id del estudiante a eliminar: ");
125+
int idEliminar = Integer.parseInt(entrada.nextLine());
126+
var estudianteEliminar = new Estudiante(idEliminar);
127+
var eliminado = estudianteDao.eliminarEstudiante(estudianteEliminar);
128+
if (eliminado)
129+
System.out.println("Estudiante eliminado: " + estudianteEliminar);
130+
else
131+
System.out.println("No se elimino estudiante: " + estudianteEliminar);
132+
}// Fin caso 5
133+
134+
case 6 -> {
135+
//Salir
136+
System.out.println("** Fin del Programa **");
137+
return salir = true;
138+
}// Fin caso 6
139+
140+
default -> System.out.println("¡¡ Opcion no valida !!");
141+
}
142+
143+
return salir;
144+
}
145+
146+
}// Fin clase
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package UTN.conexion;
2+
3+
import com.mysql.cj.jdbc.Driver;
4+
5+
import java.sql.Connection;
6+
import java.sql.DriverManager;
7+
import java.sql.SQLException;
8+
9+
public class Conexion {
10+
public static Connection getConnection(){
11+
Connection conexion = null;
12+
//Variables para conectarnos a la base de datos
13+
var baseDatos = "estudiantes";
14+
var url = "jdbc:mysql://localhost:3306/"+baseDatos;
15+
var usuario = "root";
16+
var password = "admin";
17+
18+
//cargamos la clase del driver de mysql en memoria
19+
try{
20+
Class.forName("com.mysql.cj.jdbc.Driver");
21+
conexion = DriverManager.getConnection(url,usuario,password);
22+
}catch (ClassNotFoundException | SQLException e){
23+
System.out.println("Ocurrio un error en la conexion: "+e.getMessage());
24+
}//Fin catch
25+
return conexion;
26+
}// Fin metodo connection
27+
}

0 commit comments

Comments
 (0)