From b96a5b0babd9937fb07a9627f29f6dfd8086fa71 Mon Sep 17 00:00:00 2001 From: Pacheca Date: Mon, 14 Apr 2025 16:48:44 +0200 Subject: [PATCH 01/20] Iniciando IronSchool --- .gitignore | 2 + IronSchool/pom.xml | 37 +++++++++++++++++++ IronSchool/src/main/java/Course.java | 2 + IronSchool/src/main/java/Main.java | 2 + IronSchool/src/main/java/Registration.java | 2 + IronSchool/src/main/java/Student.java | 2 + IronSchool/src/main/java/Teacher.java | 2 + IronSchool/src/test/java/CourseTest.java | 5 +++ .../src/test/java/RegistrationTest.java | 5 +++ IronSchool/src/test/java/StudentTest.java | 5 +++ IronSchool/src/test/java/TeacherTest.java | 5 +++ 11 files changed, 69 insertions(+) create mode 100644 .gitignore create mode 100644 IronSchool/pom.xml create mode 100644 IronSchool/src/main/java/Course.java create mode 100644 IronSchool/src/main/java/Main.java create mode 100644 IronSchool/src/main/java/Registration.java create mode 100644 IronSchool/src/main/java/Student.java create mode 100644 IronSchool/src/main/java/Teacher.java create mode 100644 IronSchool/src/test/java/CourseTest.java create mode 100644 IronSchool/src/test/java/RegistrationTest.java create mode 100644 IronSchool/src/test/java/StudentTest.java create mode 100644 IronSchool/src/test/java/TeacherTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..ab57c8e2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea +./target/* diff --git a/IronSchool/pom.xml b/IronSchool/pom.xml new file mode 100644 index 00000000..9fc99c74 --- /dev/null +++ b/IronSchool/pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + + org.example + IronSchool + 1.0-SNAPSHOT + + + 21 + 21 + UTF-8 + + + + org.junit.jupiter + junit-jupiter-engine + 5.9.2 + + + org.junit.jupiter + junit-jupiter-api + 5.9.2 + + + + org.mockito + mockito-core + 4.11.0 + + + + + + \ No newline at end of file diff --git a/IronSchool/src/main/java/Course.java b/IronSchool/src/main/java/Course.java new file mode 100644 index 00000000..94481cf5 --- /dev/null +++ b/IronSchool/src/main/java/Course.java @@ -0,0 +1,2 @@ +public class Course { +} diff --git a/IronSchool/src/main/java/Main.java b/IronSchool/src/main/java/Main.java new file mode 100644 index 00000000..70464179 --- /dev/null +++ b/IronSchool/src/main/java/Main.java @@ -0,0 +1,2 @@ +public class Main { +} diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java new file mode 100644 index 00000000..297cb9bf --- /dev/null +++ b/IronSchool/src/main/java/Registration.java @@ -0,0 +1,2 @@ +public class Registration { +} diff --git a/IronSchool/src/main/java/Student.java b/IronSchool/src/main/java/Student.java new file mode 100644 index 00000000..f3406bb9 --- /dev/null +++ b/IronSchool/src/main/java/Student.java @@ -0,0 +1,2 @@ +public class Student { +} diff --git a/IronSchool/src/main/java/Teacher.java b/IronSchool/src/main/java/Teacher.java new file mode 100644 index 00000000..cec5fe8d --- /dev/null +++ b/IronSchool/src/main/java/Teacher.java @@ -0,0 +1,2 @@ +public class Teacher { +} diff --git a/IronSchool/src/test/java/CourseTest.java b/IronSchool/src/test/java/CourseTest.java new file mode 100644 index 00000000..5cee5a63 --- /dev/null +++ b/IronSchool/src/test/java/CourseTest.java @@ -0,0 +1,5 @@ +import static org.junit.jupiter.api.Assertions.*; + +class CourseTest { + +} \ No newline at end of file diff --git a/IronSchool/src/test/java/RegistrationTest.java b/IronSchool/src/test/java/RegistrationTest.java new file mode 100644 index 00000000..08072498 --- /dev/null +++ b/IronSchool/src/test/java/RegistrationTest.java @@ -0,0 +1,5 @@ +import static org.junit.jupiter.api.Assertions.*; + +class RegistrationTest { + +} \ No newline at end of file diff --git a/IronSchool/src/test/java/StudentTest.java b/IronSchool/src/test/java/StudentTest.java new file mode 100644 index 00000000..ad9f7d6b --- /dev/null +++ b/IronSchool/src/test/java/StudentTest.java @@ -0,0 +1,5 @@ +import static org.junit.jupiter.api.Assertions.*; + +class StudentTest { + +} \ No newline at end of file diff --git a/IronSchool/src/test/java/TeacherTest.java b/IronSchool/src/test/java/TeacherTest.java new file mode 100644 index 00000000..1d564646 --- /dev/null +++ b/IronSchool/src/test/java/TeacherTest.java @@ -0,0 +1,5 @@ +import static org.junit.jupiter.api.Assertions.*; + +class TeacherTest { + +} \ No newline at end of file From f0bf69e991c8425c450a0dc7ea2681c9fb461dad Mon Sep 17 00:00:00 2001 From: Javier Moneo Date: Mon, 14 Apr 2025 17:26:23 +0200 Subject: [PATCH 02/20] Implements Course --- IronSchool/src/main/java/Course.java | 67 ++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/IronSchool/src/main/java/Course.java b/IronSchool/src/main/java/Course.java index 94481cf5..b9298650 100644 --- a/IronSchool/src/main/java/Course.java +++ b/IronSchool/src/main/java/Course.java @@ -1,2 +1,69 @@ +import java.util.UUID; + public class Course { + private String courseId = UUID.randomUUID().toString(); + private String name; + private double price; + private double moneyEarned; + private Teacher teacher; + + public Course(String name, double price) { + setName(name); + if (price < 0.0) { + throw new IllegalArgumentException("Error el precio no puede ser nulo"); + } else { + setPrice(price); + } + } + + public String getCourseId() { + return courseId; + } + + public void setCourseId(String courseId) { + this.courseId = courseId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public double getMoneyEarned() { + return moneyEarned; + } + + public void setMoneyEarned(double moneyEarned) { + this.moneyEarned = moneyEarned; + } + + public Teacher getTeacher() { + return teacher; + } + + public void setTeacher(Teacher teacher) { + this.teacher = teacher; + } + + @Override + public String toString() { + return "Course{" + + "courseId='" + courseId + '\'' + + ", name='" + name + '\'' + + ", price=" + price + + ", moneyEarned=" + moneyEarned + + ", teacher=" + teacher + + '}'; + } } From 84c79ca41eaf34916fef30adca4160fcd3741369 Mon Sep 17 00:00:00 2001 From: Javier Moneo Date: Mon, 14 Apr 2025 18:18:22 +0200 Subject: [PATCH 03/20] Create interface IRegistration, class Adminsitration and override methods in Registration --- IronSchool/src/main/java/Administration.java | 3 + IronSchool/src/main/java/IRegistration.java | 21 +++++++ IronSchool/src/main/java/Main.java | 4 ++ IronSchool/src/main/java/Registration.java | 60 +++++++++++++++++++- 4 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 IronSchool/src/main/java/Administration.java create mode 100644 IronSchool/src/main/java/IRegistration.java diff --git a/IronSchool/src/main/java/Administration.java b/IronSchool/src/main/java/Administration.java new file mode 100644 index 00000000..89ddaeca --- /dev/null +++ b/IronSchool/src/main/java/Administration.java @@ -0,0 +1,3 @@ +public class Administration { + +} diff --git a/IronSchool/src/main/java/IRegistration.java b/IronSchool/src/main/java/IRegistration.java new file mode 100644 index 00000000..232e36b0 --- /dev/null +++ b/IronSchool/src/main/java/IRegistration.java @@ -0,0 +1,21 @@ +import java.util.List; + +public interface IRegistration { + void enroll(String studentId, String courseId); + + void assing(String teacherId, String courseId); + + void showCourses(); + + void lookupCourse(String courseId); + + void showStudents(); + + void lookupStudent(String studentId); + + void showTeachers(); + + void lookupTeacher(String teacherId); + + double showProfit(); +} diff --git a/IronSchool/src/main/java/Main.java b/IronSchool/src/main/java/Main.java index 70464179..78037d56 100644 --- a/IronSchool/src/main/java/Main.java +++ b/IronSchool/src/main/java/Main.java @@ -1,2 +1,6 @@ public class Main { + public static void main(String[] args) { + + + } } diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index 297cb9bf..ec1032e4 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -1,2 +1,60 @@ -public class Registration { +import java.util.ArrayList; +import java.util.List; + +public class Registration implements IRegistration { + + private List studentList = new ArrayList<>(); + private List courseList= new ArrayList<>(); + private List teacherList= new ArrayList<>(); + + public Registration(List studentList, List courseList, List teacherList) { + this.studentList = studentList; + this.courseList = courseList; + this.teacherList = teacherList; + } + + @Override + public void enroll(String studentId, String courseId) { + + } + + @Override + public void assing(String teacherId, String courseId) { + + } + + @Override + public void showCourses() { + + } + + @Override + public void lookupCourse(String courseId) { + + } + + @Override + public void showStudents() { + + } + + @Override + public void lookupStudent(String studentId) { + + } + + @Override + public void showTeachers() { + + } + + @Override + public void lookupTeacher(String teacherId) { + + } + + @Override + public double showProfit() { + return 0; + } } From e7bc55ba8536945a2b063b5f8e5dd760d05c4c91 Mon Sep 17 00:00:00 2001 From: Javier Moneo Date: Tue, 15 Apr 2025 11:50:08 +0200 Subject: [PATCH 04/20] correct .gitignore --- .gitignore | 5 +++-- IronSchool/src/main/java/Main.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ab57c8e2..91775a24 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -.idea -./target/* +.idea/* +IronSchool/target/* +out/* \ No newline at end of file diff --git a/IronSchool/src/main/java/Main.java b/IronSchool/src/main/java/Main.java index 78037d56..be18d836 100644 --- a/IronSchool/src/main/java/Main.java +++ b/IronSchool/src/main/java/Main.java @@ -1,6 +1,6 @@ public class Main { public static void main(String[] args) { - + System.out.println("Hello world"); } } From ee00d06951ca1c72e8281f968053953857b8be1a Mon Sep 17 00:00:00 2001 From: Pacheca Date: Tue, 15 Apr 2025 11:55:09 +0200 Subject: [PATCH 05/20] Teacher init --- IronSchool/src/main/java/Teacher.java | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/IronSchool/src/main/java/Teacher.java b/IronSchool/src/main/java/Teacher.java index cec5fe8d..cd442d0d 100644 --- a/IronSchool/src/main/java/Teacher.java +++ b/IronSchool/src/main/java/Teacher.java @@ -1,2 +1,37 @@ +import java.util.UUID; + public class Teacher { + private String teacherId; + private String name; + private double salary; + + public Teacher(double salary, String name) { + this.teacherId = UUID.randomUUID().toString(); + this.salary = salary; + this.name = name; + } + + public Teacher(String teacherId) { + this.teacherId = teacherId; + } + + public String getTeacherId() { + return teacherId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getSalary() { + return salary; + } + + public void setSalary(double salary) { + this.salary = salary; + } } From 34966b2c993b44543f9ee00799d488c96a885fc2 Mon Sep 17 00:00:00 2001 From: Pacheca Date: Tue, 15 Apr 2025 12:04:18 +0200 Subject: [PATCH 06/20] toString --- IronSchool/src/main/java/Teacher.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/IronSchool/src/main/java/Teacher.java b/IronSchool/src/main/java/Teacher.java index cd442d0d..8a489bf9 100644 --- a/IronSchool/src/main/java/Teacher.java +++ b/IronSchool/src/main/java/Teacher.java @@ -34,4 +34,13 @@ public double getSalary() { public void setSalary(double salary) { this.salary = salary; } + + @Override + public String toString() { + return "Teacher{" + + "teacherId='" + teacherId + '\'' + + ", name='" + name + '\'' + + ", salary=" + salary + + '}'; + } } From 4aeac127beba09074b37241d94c829ec9ad075a5 Mon Sep 17 00:00:00 2001 From: JesusCiber Date: Tue, 15 Apr 2025 12:30:34 +0200 Subject: [PATCH 07/20] Implementar Clase student --- IronSchool/src/main/java/Student.java | 68 +++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/IronSchool/src/main/java/Student.java b/IronSchool/src/main/java/Student.java index f3406bb9..b84bbd5b 100644 --- a/IronSchool/src/main/java/Student.java +++ b/IronSchool/src/main/java/Student.java @@ -1,2 +1,70 @@ +import java.util.UUID; + public class Student { + private String studentId; + private String name; + private String address; + private String email; + private Course course; + + public Student(String name, String address, String email) { + this.studentId = UUID.randomUUID().toString(); + this.name = name; + this.address = address; + this.email = email; + this.course = null; + } + + public Student(String studentId){ + this.studentId = studentId; + } + + + public String getStudentId() { + return studentId; + } + + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Course getCourse() { + return course; + } + + public void setCourse(Course course) { + this.course = course; + } + + @Override + public String toString() { + return "Student{" + + "studentId='" + studentId + '\'' + + ", name='" + name + '\'' + + ", address='" + address + '\'' + + ", email='" + email + '\'' + + ", course=" + course + + '}'; + } } From 791ff362fc275129f4b1ab238ed85680264eade0 Mon Sep 17 00:00:00 2001 From: Pacheca Date: Tue, 15 Apr 2025 13:10:44 +0200 Subject: [PATCH 08/20] Comentarios --- IronSchool/src/main/java/Administration.java | 10 ++++++++++ IronSchool/src/main/java/Main.java | 2 +- IronSchool/src/main/java/Registration.java | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/IronSchool/src/main/java/Administration.java b/IronSchool/src/main/java/Administration.java index 89ddaeca..8ea217cb 100644 --- a/IronSchool/src/main/java/Administration.java +++ b/IronSchool/src/main/java/Administration.java @@ -1,3 +1,13 @@ public class Administration { + // pedimos los datos (los scanners) + // con requisitos del lap + public Administration() { + //Constructor. + + } + + public void executeAdmid(){ + + } } diff --git a/IronSchool/src/main/java/Main.java b/IronSchool/src/main/java/Main.java index be18d836..78037d56 100644 --- a/IronSchool/src/main/java/Main.java +++ b/IronSchool/src/main/java/Main.java @@ -1,6 +1,6 @@ public class Main { public static void main(String[] args) { - System.out.println("Hello world"); + } } diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index ec1032e4..ee348657 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -1,6 +1,8 @@ import java.util.ArrayList; import java.util.List; +// datos y comandos + public class Registration implements IRegistration { private List studentList = new ArrayList<>(); @@ -57,4 +59,6 @@ public void lookupTeacher(String teacherId) { public double showProfit() { return 0; } + + } From 294dbb0290fef663ae16a17a3a5b730e00681a9a Mon Sep 17 00:00:00 2001 From: Javier Moneo Date: Tue, 15 Apr 2025 18:33:21 +0200 Subject: [PATCH 09/20] Implement Administration menu --- IronSchool/src/main/java/Administration.java | 174 ++++++++++++++++++- IronSchool/src/main/java/Course.java | 2 +- IronSchool/src/main/java/Main.java | 2 + IronSchool/src/main/java/Registration.java | 13 ++ IronSchool/src/main/java/Student.java | 2 +- IronSchool/src/main/java/Teacher.java | 2 +- 6 files changed, 188 insertions(+), 7 deletions(-) diff --git a/IronSchool/src/main/java/Administration.java b/IronSchool/src/main/java/Administration.java index 8ea217cb..8a4bc5c1 100644 --- a/IronSchool/src/main/java/Administration.java +++ b/IronSchool/src/main/java/Administration.java @@ -1,13 +1,179 @@ +import java.util.Scanner; + public class Administration { - // pedimos los datos (los scanners) - // con requisitos del lap + private Registration registration = new Registration(); public Administration() { - //Constructor. + } + + public void executeAdmid() { + + Scanner scanner = new Scanner(System.in); + System.out.println("Introduce el nombre de la escuela:"); + String nameSchool = scanner.nextLine(); + + scanTeachers(); + scanCourses(); + scanStudents(); + + scanCommands(); + } + + public void scanTeachers() { + Scanner scanner = new Scanner(System.in); + System.out.println("¿Cuantos profesores quieres crear?:"); + int numTeachers = scanner.nextInt(); + // Skip the newline + scanner.nextLine(); + for (int i = 0; i < numTeachers; i++) { + System.out.println("Introduce el nombre del profesor " + i + ":"); + String name = scanner.nextLine(); + + System.out.println("Introduce el salario del profesor " + i + ":"); + double salary = scanner.nextDouble(); + scanner.nextLine(); + + Teacher teacher = new Teacher(salary, name); +// System.out.println(teacher.toString()); + registration.addTeacher(teacher); + } + } + + public void scanCourses() { + Scanner scanner = new Scanner(System.in); + System.out.println("¿Cuantos cursos quieres crear?:"); + int numCourses = scanner.nextInt(); + // Skip the newline + scanner.nextLine(); + for (int i = 0; i < numCourses; i++) { + System.out.println("Introduce el nombre del curso " + i + ":"); + String name = scanner.nextLine(); + + System.out.println("Introduce el precio del curso " + i + ":"); + double price = scanner.nextDouble(); + scanner.nextLine(); + + Course course = new Course(name, price); +// System.out.println(course.toString()); + registration.addCourse(course); + } + } + + public void scanStudents() { + Scanner scanner = new Scanner(System.in); + System.out.println("¿Cuantos estudiantes quieres crear?:"); + int numStudents = scanner.nextInt(); + // Skip the newline + scanner.nextLine(); + for (int i = 0; i < numStudents; i++) { + System.out.println("Introduce el nombre del estudiante " + i + ":"); + String name = scanner.nextLine(); + + System.out.println("Introduce la dirección del estudiante " + i + ":"); + String address = scanner.nextLine(); + + System.out.println("Introduce el email del estudiante " + i + ":"); + String email = scanner.nextLine(); + Student student = new Student(name, address, email); + System.out.println(student.toString()); + registration.addStudent(student); + } } - public void executeAdmid(){ + void scanCommands() { + Scanner scanner = new Scanner(System.in); + + boolean exit = false; + while (!exit) { + System.out.println("\n########################################################################"); + System.out.println("# INTRODUCE UN COMANDO VÁLIDO DE LA SIGUIENTE LISTA (EXIT PARA SALIR): #"); + System.out.println("########################################################################"); + printCommands(); + + String commandStr = scanner.nextLine(); + + if (commandStr.startsWith("ENROLL")) { + String[] commandSplited = commandStr.split(" "); + String studentId = replaceBrackets(commandSplited[1]); + String courseId = replaceBrackets(commandSplited[2]); +// System.out.println(studentId); +// System.out.println(courseId); + System.out.println("ejecutando ENROLL con los parametros: " + studentId + " " + courseId); + registration.enroll(studentId, courseId); + + } else if (commandStr.startsWith("ASSIGN")) { + String[] commandSplited = commandStr.split(" "); + String teacherId = replaceBrackets(commandSplited[1]); + String courseId = replaceBrackets(commandSplited[2]); +// System.out.println(teacherId); +// System.out.println(courseId); + System.out.println("ejecutando ASSIGN con los parametros: " + teacherId + " " + courseId); + registration.assing(teacherId, courseId); + + } else if (commandStr.startsWith("SHOW COURSES")) { + registration.showCourses(); + + } else if (commandStr.startsWith("LOOKUP COURSE")) { + String[] commandSplited = commandStr.split(" "); + String courseId = replaceBrackets(commandSplited[2]); +// System.out.println(courseId); + System.out.println("ejecutando LOOKUP COURSE con los parametros: " + courseId); + registration.lookupCourse(courseId); + + } else if (commandStr.startsWith("SHOW STUDENTS")) { + System.out.println("ejecutando SHOW STUDENTS:"); + registration.showStudents(); + + } else if (commandStr.startsWith("LOOKUP STUDENT")) { + String[] commandSplited = commandStr.split(" "); + String studentId = replaceBrackets(commandSplited[2]); +// System.out.println(studentId); + System.out.println("ejecutando LOOKUP STUDENT con los parametros: " + studentId); + registration.lookupStudent(studentId); + + } else if (commandStr.startsWith("SHOW TEACHERS")) { + System.out.println("ejecutando SHOW TEACHERS:"); + registration.showTeachers(); + + } else if (commandStr.startsWith("LOOKUP TEACHER")) { + String[] commandSplited = commandStr.split(" "); + String teacherId = replaceBrackets(commandSplited[2]); +// System.out.println(teacherId); + System.out.println("ejecutando LOOKUP TEACHER con los parametros: " + teacherId); + registration.lookupTeacher(teacherId); + + } else if (commandStr.startsWith("SHOW PROFIT")) { + System.out.println("ejecutando SHOW PROFIT:"); + registration.showProfit(); + + } else if (commandStr.startsWith("EXIT")) { + exit = true; + } + + } + } + + public String replaceBrackets(String idWithBrackets) { + String studentId = idWithBrackets.substring(1);//eliminamoso el principio + studentId = studentId.replaceFirst(".$", "");// eliminamos el final + System.out.println("studentId=" + studentId); + + return studentId; + } + public void printCommands(){ + System.out.println("*********************************************"); + System.out.println("*\tENROLL [STUDENT_ID] [COURSE_ID]\t\t\t*"); + System.out.println("*\tASSIGN [TEACHER_ID] [COURSE_ID]\t\t\t*"); + System.out.println("*\tSHOW COURSES\t\t\t\t\t\t\t*"); + System.out.println("*\tLOOKUP COURSE [COURSE_ID]\t\t\t\t*"); + System.out.println("*\tSHOW STUDENTS\t\t\t\t\t\t\t*"); + System.out.println("*\tLOOKUP STUDENT [STUDENT_ID]\t\t\t\t*"); + System.out.println("*\tSHOW TEACHERS\t\t\t\t\t\t\t*"); + System.out.println("*\tLOOKUP TEACHER [TEACHER_ID]\t\t\t\t*"); + System.out.println("*\tSHOW PROFIT\t\t\t\t\t\t\t\t*"); + System.out.println("*\tEXIT\t\t\t\t\t\t\t\t\t*"); + System.out.println("*********************************************"); } } diff --git a/IronSchool/src/main/java/Course.java b/IronSchool/src/main/java/Course.java index b9298650..7dc71445 100644 --- a/IronSchool/src/main/java/Course.java +++ b/IronSchool/src/main/java/Course.java @@ -1,7 +1,7 @@ import java.util.UUID; public class Course { - private String courseId = UUID.randomUUID().toString(); + private String courseId = UUID.randomUUID().toString().substring(0,4); private String name; private double price; private double moneyEarned; diff --git a/IronSchool/src/main/java/Main.java b/IronSchool/src/main/java/Main.java index 78037d56..fe6dc329 100644 --- a/IronSchool/src/main/java/Main.java +++ b/IronSchool/src/main/java/Main.java @@ -1,6 +1,8 @@ public class Main { public static void main(String[] args) { + Administration administration = new Administration(); + administration.executeAdmid(); } } diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index ee348657..83918ed0 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -9,6 +9,9 @@ public class Registration implements IRegistration { private List courseList= new ArrayList<>(); private List teacherList= new ArrayList<>(); + public Registration(){ + } + public Registration(List studentList, List courseList, List teacherList) { this.studentList = studentList; this.courseList = courseList; @@ -60,5 +63,15 @@ public double showProfit() { return 0; } + public void addTeacher(Teacher teacher) { + this.teacherList.add(teacher); + } + + public void addCourse(Course course){ + this.courseList.add(course); + } + public void addStudent(Student student) { + this.studentList.add(student); + } } diff --git a/IronSchool/src/main/java/Student.java b/IronSchool/src/main/java/Student.java index b84bbd5b..5a93121f 100644 --- a/IronSchool/src/main/java/Student.java +++ b/IronSchool/src/main/java/Student.java @@ -8,7 +8,7 @@ public class Student { private Course course; public Student(String name, String address, String email) { - this.studentId = UUID.randomUUID().toString(); + this.studentId = UUID.randomUUID().toString().substring(0,4); this.name = name; this.address = address; this.email = email; diff --git a/IronSchool/src/main/java/Teacher.java b/IronSchool/src/main/java/Teacher.java index 8a489bf9..851bdebb 100644 --- a/IronSchool/src/main/java/Teacher.java +++ b/IronSchool/src/main/java/Teacher.java @@ -6,7 +6,7 @@ public class Teacher { private double salary; public Teacher(double salary, String name) { - this.teacherId = UUID.randomUUID().toString(); + this.teacherId = UUID.randomUUID().toString().substring(0,4); this.salary = salary; this.name = name; } From 408510363decf8025c2056c6ce63aad87cfa3dbb Mon Sep 17 00:00:00 2001 From: Pacheca Date: Tue, 15 Apr 2025 21:17:43 +0200 Subject: [PATCH 10/20] Assign --- IronSchool/src/main/java/IRegistration.java | 2 -- IronSchool/src/main/java/Main.java | 2 -- IronSchool/src/main/java/Registration.java | 24 +++++++++++++++++- .../src/test/java/RegistrationTest.java | 25 ++++++++++++++++++- 4 files changed, 47 insertions(+), 6 deletions(-) diff --git a/IronSchool/src/main/java/IRegistration.java b/IronSchool/src/main/java/IRegistration.java index 232e36b0..caefde77 100644 --- a/IronSchool/src/main/java/IRegistration.java +++ b/IronSchool/src/main/java/IRegistration.java @@ -1,5 +1,3 @@ -import java.util.List; - public interface IRegistration { void enroll(String studentId, String courseId); diff --git a/IronSchool/src/main/java/Main.java b/IronSchool/src/main/java/Main.java index 78037d56..28bcb167 100644 --- a/IronSchool/src/main/java/Main.java +++ b/IronSchool/src/main/java/Main.java @@ -1,6 +1,4 @@ public class Main { - public static void main(String[] args) { - } } diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index ee348657..390d9a0e 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -15,6 +15,7 @@ public Registration(List studentList, List courseList, List studentList = new ArrayList<>(); + List courseList = new ArrayList<>(); + List teacherList = new ArrayList<>(); + + Teacher teacher1 = new Teacher(1200, "Jaime"); + Course course1 = new Course("Ingles", 100); + + teacherList.add(teacher1); + courseList.add(course1); + + Registration registration = new Registration(studentList, courseList, teacherList); + registration.assing(teacher1.getTeacherId(), course1.getCourseId()); + + assertEquals(teacher1, course1.getTeacher(), "The teacher could not be assigned to the course"); + + } } \ No newline at end of file From a0a6fd67a520a17082722523d3d676a3decccd62 Mon Sep 17 00:00:00 2001 From: JesusCiber Date: Mon, 21 Apr 2025 15:03:13 +0200 Subject: [PATCH 11/20] Metodo enrroll --- IronSchool/src/main/java/Course.java | 1 + IronSchool/src/main/java/Registration.java | 26 +++++++++++++++++++++- IronSchool/src/main/java/Student.java | 1 - 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/IronSchool/src/main/java/Course.java b/IronSchool/src/main/java/Course.java index b9298650..4962ce7d 100644 --- a/IronSchool/src/main/java/Course.java +++ b/IronSchool/src/main/java/Course.java @@ -45,6 +45,7 @@ public double getMoneyEarned() { } public void setMoneyEarned(double moneyEarned) { + this.moneyEarned = moneyEarned; } diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index ee348657..9a35d2b8 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -15,8 +15,33 @@ public Registration(List studentList, List courseList, List Date: Mon, 21 Apr 2025 15:25:49 +0200 Subject: [PATCH 12/20] lookupStudent --- IronSchool/src/main/java/Registration.java | 18 +++++++++++++++++- IronSchool/src/test/java/RegistrationTest.java | 17 +++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index 390d9a0e..14a56e67 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -64,7 +64,23 @@ public void showStudents() { @Override public void lookupStudent(String studentId) { - + for (Student student : this.studentList) { + if (student.getStudentId().equals(studentId)) { + System.out.println("Student found."); + System.out.println("Student with ID " + studentId + " found."); + System.out.println("Student Name: " + student.getName()); + System.out.println("Student Email: " + student.getEmail()); + System.out.println("Student Course: " + student.getCourse()); + if (student.getCourse() != null) { + System.out.println("Course found."); + System.out.println("Course with ID " + student.getCourse().getCourseId()); + } else { + System.out.println("Course not found."); + } + return; + } + } + System.out.println("Student not found."); } @Override diff --git a/IronSchool/src/test/java/RegistrationTest.java b/IronSchool/src/test/java/RegistrationTest.java index 7212a818..0c9f81c7 100644 --- a/IronSchool/src/test/java/RegistrationTest.java +++ b/IronSchool/src/test/java/RegistrationTest.java @@ -4,6 +4,7 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; class RegistrationTest { @Test @@ -25,4 +26,20 @@ public void assign() { } + @Test + public void lookupStudent() { + List studentList = new ArrayList<>(); + List courseList = new ArrayList<>(); + List teacherList = new ArrayList<>(); + + Student student1 = new Student("Pedro", "Calle las manzanas", "Pedro@gpedro.com"); + + studentList.add(student1); + + Registration registration = new Registration(studentList, courseList, teacherList); + registration.lookupStudent(student1.getStudentId()); + + assertNotNull(student1,"Student found"); + } + } \ No newline at end of file From e8fcc34f245158615f24779169d707b207fbfdab Mon Sep 17 00:00:00 2001 From: Javier Moneo Date: Mon, 21 Apr 2025 15:28:21 +0200 Subject: [PATCH 13/20] implementar lookupTeacher, showTeacher --- IronSchool/src/main/java/Registration.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index a411d05f..e4dcc6f0 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -54,7 +54,9 @@ public void assing(String teacherId, String courseId) { @Override public void showCourses() { - + for(Course course: courseList){ + System.out.println(course); + } } @Override @@ -74,12 +76,23 @@ public void lookupStudent(String studentId) { @Override public void showTeachers() { - + for(Teacher teacher: teacherList) { + System.out.println(teacher); + } } @Override public void lookupTeacher(String teacherId) { + if(teacherId == null) { + throw new IllegalArgumentException("teacherId no puede ser null"); + } + for(Teacher teacher: teacherList){ + if(teacher.getTeacherId().equals(teacherId)){ + System.out.println(teacher); + break; + } + } } @Override From 8a0b87fff353f5a95bca1a5dd7a0a2a5cb0d31af Mon Sep 17 00:00:00 2001 From: JesusCiber Date: Mon, 21 Apr 2025 15:33:29 +0200 Subject: [PATCH 14/20] actualizacion --- IronSchool/src/main/java/Registration.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index a411d05f..98677ec8 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -54,12 +54,10 @@ public void assing(String teacherId, String courseId) { @Override public void showCourses() { - } @Override public void lookupCourse(String courseId) { - } @Override From 0ebaf0a8b4bee4d54b86bcd78be782adcf7651d1 Mon Sep 17 00:00:00 2001 From: Pacheca Date: Mon, 21 Apr 2025 15:50:13 +0200 Subject: [PATCH 15/20] lookupCourse --- IronSchool/src/main/java/Registration.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index 8cbfe2bf..a67bc4ef 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -83,6 +83,17 @@ public void showCourses() { @Override public void lookupCourse(String courseId) { + for (Course course : this.courseList) { + if (course.getCourseId().equals(courseId)) { + System.out.println("Course with ID " + courseId + " found."); + System.out.println("Course Name " + course.getName()); + System.out.println("Course Teacher " + course.getTeacher().getTeacherId()); + System.out.println("Course Price " + course.getPrice()); + } else { + System.out.println("Course not found."); + } + return; + } } From f67cb2179226b1f3cb0beeb468cb01dba5a09ed4 Mon Sep 17 00:00:00 2001 From: JesusCiber Date: Mon, 21 Apr 2025 15:52:39 +0200 Subject: [PATCH 16/20] show student --- IronSchool/src/main/java/Registration.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index 8cbfe2bf..8aa70ecc 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -88,7 +88,9 @@ public void lookupCourse(String courseId) { @Override public void showStudents() { - + for(Student student: studentList){ + System.out.println(student); + } } @Override From 082959469d7c2ccb1e4541eeb4d8b9ffd416693a Mon Sep 17 00:00:00 2001 From: Javier Moneo Date: Mon, 21 Apr 2025 15:59:44 +0200 Subject: [PATCH 17/20] Add main method --- IronSchool/src/main/java/Main.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/IronSchool/src/main/java/Main.java b/IronSchool/src/main/java/Main.java index 28bcb167..2a308d8f 100644 --- a/IronSchool/src/main/java/Main.java +++ b/IronSchool/src/main/java/Main.java @@ -1,4 +1,7 @@ public class Main { - + public static void main(String[] args) { + Administration administration = new Administration(); + administration.executeAdmid(); + } } From 440c3064dd11096a39caa676edbfef583daa4ddc Mon Sep 17 00:00:00 2001 From: Pacheca Date: Mon, 21 Apr 2025 16:13:10 +0200 Subject: [PATCH 18/20] showProfit --- IronSchool/src/main/java/IRegistration.java | 2 +- IronSchool/src/main/java/Registration.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/IronSchool/src/main/java/IRegistration.java b/IronSchool/src/main/java/IRegistration.java index caefde77..9d429734 100644 --- a/IronSchool/src/main/java/IRegistration.java +++ b/IronSchool/src/main/java/IRegistration.java @@ -15,5 +15,5 @@ public interface IRegistration { void lookupTeacher(String teacherId); - double showProfit(); + void showProfit(); } diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index a67bc4ef..af6e48fa 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -145,8 +145,17 @@ public void lookupTeacher(String teacherId) { } @Override - public double showProfit() { - return 0; + public void showProfit() { + double totalMoneyEarned = 0; + for(Course coursePrice: courseList){ + totalMoneyEarned += coursePrice.getMoneyEarned(); + } + double totalTeacherSalary = 0; + for(Teacher teacher: teacherList){ + totalTeacherSalary += teacher.getSalary(); + } + System.out.println("Total Money Earned: " + totalMoneyEarned); + System.out.println("Total Teacher Salary: " + totalTeacherSalary); } public void addTeacher(Teacher teacher) { From baa3c1a0c4f76e604f4642498c9a744b280eddcc Mon Sep 17 00:00:00 2001 From: Pacheca Date: Mon, 21 Apr 2025 16:38:42 +0200 Subject: [PATCH 19/20] Arreglos --- IronSchool/src/main/java/Registration.java | 40 +++++++++------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/IronSchool/src/main/java/Registration.java b/IronSchool/src/main/java/Registration.java index 17243743..b27d981f 100644 --- a/IronSchool/src/main/java/Registration.java +++ b/IronSchool/src/main/java/Registration.java @@ -83,16 +83,15 @@ public void showCourses() { @Override public void lookupCourse(String courseId) { - for (Course course : this.courseList) { - if (course.getCourseId().equals(courseId)) { - System.out.println("Course with ID " + courseId + " found."); - System.out.println("Course Name " + course.getName()); - System.out.println("Course Teacher " + course.getTeacher().getTeacherId()); - System.out.println("Course Price " + course.getPrice()); - } else { - System.out.println("Course not found."); + if(courseId == null) { + throw new IllegalArgumentException("CourseId no puede ser null"); + } + + for(Course course: courseList){ + if(course.getCourseId().equals(courseId)){ + System.out.println(course); + break; } - return; } } @@ -106,23 +105,16 @@ public void showStudents() { @Override public void lookupStudent(String studentId) { - for (Student student : this.studentList) { - if (student.getStudentId().equals(studentId)) { - System.out.println("Student found."); - System.out.println("Student with ID " + studentId + " found."); - System.out.println("Student Name: " + student.getName()); - System.out.println("Student Email: " + student.getEmail()); - System.out.println("Student Course: " + student.getCourse()); - if (student.getCourse() != null) { - System.out.println("Course found."); - System.out.println("Course with ID " + student.getCourse().getCourseId()); - } else { - System.out.println("Course not found."); - } - return; + if(studentId == null) { + throw new IllegalArgumentException("StudentId no puede ser null"); + } + + for(Student student: studentList){ + if(student.getStudentId().equals(studentId)){ + System.out.println(student); + break; } } - System.out.println("Student not found."); } @Override From 41db9f2ab10ffe65362ca0ff4a32748cdbbf1ca7 Mon Sep 17 00:00:00 2001 From: Pacheca Date: Tue, 22 Apr 2025 13:10:33 +0200 Subject: [PATCH 20/20] Colors --- IronSchool/src/main/java/Administration.java | 53 ++++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/IronSchool/src/main/java/Administration.java b/IronSchool/src/main/java/Administration.java index 8a4bc5c1..80fcbc5e 100644 --- a/IronSchool/src/main/java/Administration.java +++ b/IronSchool/src/main/java/Administration.java @@ -6,10 +6,21 @@ public class Administration { public Administration() { } + public static final String ANSI_RESET = "\u001B[0m"; + public static final String ANSI_RED = "\u001B[31m"; + public static final String ANSI_YELLOW = "\u001B[33m"; + public static final String ANSI_PURPLE = "\u001B[35m"; + public static final String ANSI_GREEN = "\u001B[32m"; + public static final String ANSI_RED_BACKGROUND = "\u001B[41m"; + public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m"; + public static final String ANSI_GREEN_BACKGROUND = "\u001B[42m"; + public static final String ANSI_CYAN_BACKGROUND = "\u001B[46m"; + public static final String ANSI_PURPLE_BACKGROUND = "\u001B[45m"; + public void executeAdmid() { Scanner scanner = new Scanner(System.in); - System.out.println("Introduce el nombre de la escuela:"); + System.out.println(ANSI_CYAN_BACKGROUND + "\uD83C\uDFEBIntroduce el nombre de la escuela:" + ANSI_RESET); String nameSchool = scanner.nextLine(); scanTeachers(); @@ -21,15 +32,15 @@ public void executeAdmid() { public void scanTeachers() { Scanner scanner = new Scanner(System.in); - System.out.println("¿Cuantos profesores quieres crear?:"); + System.out.println(ANSI_PURPLE_BACKGROUND + "\uD83D\uDC68\u200D\uD83C\uDFEB¿Cuantos profesores quieres crear?:" + ANSI_RESET); int numTeachers = scanner.nextInt(); // Skip the newline scanner.nextLine(); for (int i = 0; i < numTeachers; i++) { - System.out.println("Introduce el nombre del profesor " + i + ":"); + System.out.println(ANSI_PURPLE + "Introduce el nombre del profesor:" + ANSI_RESET); String name = scanner.nextLine(); - System.out.println("Introduce el salario del profesor " + i + ":"); + System.out.println(ANSI_PURPLE + "Introduce el salario del profesor:" + ANSI_RESET); double salary = scanner.nextDouble(); scanner.nextLine(); @@ -41,15 +52,15 @@ public void scanTeachers() { public void scanCourses() { Scanner scanner = new Scanner(System.in); - System.out.println("¿Cuantos cursos quieres crear?:"); + System.out.println(ANSI_GREEN_BACKGROUND + "\uD83D\uDCDA¿Cuantos cursos quieres crear?:" + ANSI_RESET); int numCourses = scanner.nextInt(); // Skip the newline scanner.nextLine(); for (int i = 0; i < numCourses; i++) { - System.out.println("Introduce el nombre del curso " + i + ":"); + System.out.println(ANSI_GREEN + "Introduce el nombre del curso:" + ANSI_RESET); String name = scanner.nextLine(); - System.out.println("Introduce el precio del curso " + i + ":"); + System.out.println(ANSI_GREEN + "Introduce el precio del curso:" + ANSI_RESET); double price = scanner.nextDouble(); scanner.nextLine(); @@ -61,18 +72,18 @@ public void scanCourses() { public void scanStudents() { Scanner scanner = new Scanner(System.in); - System.out.println("¿Cuantos estudiantes quieres crear?:"); + System.out.println(ANSI_YELLOW_BACKGROUND +"\uD83D\uDC69\u200D\uD83C\uDF93¿Cuantos estudiantes quieres crear?:" + ANSI_RESET); int numStudents = scanner.nextInt(); // Skip the newline scanner.nextLine(); for (int i = 0; i < numStudents; i++) { - System.out.println("Introduce el nombre del estudiante " + i + ":"); + System.out.println(ANSI_YELLOW + "Introduce el nombre del estudiante:" + ANSI_RESET); String name = scanner.nextLine(); - System.out.println("Introduce la dirección del estudiante " + i + ":"); + System.out.println(ANSI_YELLOW + "Introduce la dirección del estudiante:" + ANSI_RESET); String address = scanner.nextLine(); - System.out.println("Introduce el email del estudiante " + i + ":"); + System.out.println(ANSI_YELLOW + "Introduce el email del estudiante:" + ANSI_RESET); String email = scanner.nextLine(); Student student = new Student(name, address, email); @@ -164,16 +175,16 @@ public String replaceBrackets(String idWithBrackets) { public void printCommands(){ System.out.println("*********************************************"); - System.out.println("*\tENROLL [STUDENT_ID] [COURSE_ID]\t\t\t*"); - System.out.println("*\tASSIGN [TEACHER_ID] [COURSE_ID]\t\t\t*"); - System.out.println("*\tSHOW COURSES\t\t\t\t\t\t\t*"); - System.out.println("*\tLOOKUP COURSE [COURSE_ID]\t\t\t\t*"); - System.out.println("*\tSHOW STUDENTS\t\t\t\t\t\t\t*"); - System.out.println("*\tLOOKUP STUDENT [STUDENT_ID]\t\t\t\t*"); - System.out.println("*\tSHOW TEACHERS\t\t\t\t\t\t\t*"); - System.out.println("*\tLOOKUP TEACHER [TEACHER_ID]\t\t\t\t*"); - System.out.println("*\tSHOW PROFIT\t\t\t\t\t\t\t\t*"); - System.out.println("*\tEXIT\t\t\t\t\t\t\t\t\t*"); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDD04\tENROLL \uD83D\uDC68\u200D\uD83C\uDF93[STUDENT_ID] \uD83D\uDCDA[COURSE_ID]\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDD04\tASSIGN \uD83D\uDC69\u200D\uD83C\uDFEB[TEACHER_ID] \uD83D\uDCDA[COURSE_ID]\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDCDA\tSHOW COURSES\t\t\t\t\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDCDA\tLOOKUP COURSE [COURSE_ID]\t\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDC68\u200D\uD83C\uDF93\tSHOW STUDENTS\t\t\t\t\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDC68\u200D\uD83C\uDF93\tLOOKUP STUDENT [STUDENT_ID]\t\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDC69\u200D\uD83C\uDFEB\tSHOW TEACHERS\t\t\t\t\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDC69\u200D\uD83C\uDFEB\tLOOKUP TEACHER [TEACHER_ID]\t\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\uD83D\uDCB5\tSHOW PROFIT\t\t\t\t\t\t\t\t*" + ANSI_RESET); + System.out.println(ANSI_RED_BACKGROUND + "*\tEXIT\t\t\t\t\t\t\t\t\t*" + ANSI_RESET); System.out.println("*********************************************"); } }