Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
b96a5b0
Iniciando IronSchool
MPacheca7 Apr 14, 2025
f0bf69e
Implements Course
AsterixKo Apr 14, 2025
84c79ca
Create interface IRegistration, class Adminsitration and override met…
AsterixKo Apr 14, 2025
e7bc55b
correct .gitignore
AsterixKo Apr 15, 2025
ee00d06
Teacher init
MPacheca7 Apr 15, 2025
34966b2
toString
MPacheca7 Apr 15, 2025
957e6c9
Merge branch 'miguel'
MPacheca7 Apr 15, 2025
e251f9f
Merge branch 'main' of https://github.com/MPacheca7/homework-java-iro…
MPacheca7 Apr 15, 2025
4aeac12
Implementar Clase student
JesusCiber Apr 15, 2025
ceb43e6
Merge branch 'jesus'
JesusCiber Apr 15, 2025
d4e6ee8
Merge branch 'main' of https://github.com/MPacheca7/homework-java-iro…
MPacheca7 Apr 15, 2025
791ff36
Comentarios
MPacheca7 Apr 15, 2025
294dbb0
Implement Administration menu
AsterixKo Apr 15, 2025
4085103
Assign
MPacheca7 Apr 15, 2025
a0a6fd6
Metodo enrroll
JesusCiber Apr 21, 2025
507b31b
Resolver conflictos
JesusCiber Apr 21, 2025
cf3eb51
lookupStudent
MPacheca7 Apr 21, 2025
e8fcc34
implementar lookupTeacher, showTeacher
AsterixKo Apr 21, 2025
2092f28
conflit
MPacheca7 Apr 21, 2025
8a0b87f
actualizacion
JesusCiber Apr 21, 2025
2c2797f
Merge branch 'javier'
AsterixKo Apr 21, 2025
f627fc7
actualizacion 2
JesusCiber Apr 21, 2025
0ebaf0a
lookupCourse
MPacheca7 Apr 21, 2025
f67cb21
show student
JesusCiber Apr 21, 2025
8367f1a
Merge branch 'jesus'
JesusCiber Apr 21, 2025
0829594
Add main method
AsterixKo Apr 21, 2025
825d443
Merge branch 'javier'
AsterixKo Apr 21, 2025
440c306
showProfit
MPacheca7 Apr 21, 2025
6e080b1
Merge branch 'main' of https://github.com/MPacheca7/homework-java-iro…
MPacheca7 Apr 21, 2025
baa3c1a
Arreglos
MPacheca7 Apr 21, 2025
41db9f2
Colors
MPacheca7 Apr 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.idea/*
IronSchool/target/*
out/*
37 changes: 37 additions & 0 deletions IronSchool/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>IronSchool</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.2</version>
</dependency>

<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.11.0</version>
</dependency>

</dependencies>


</project>
190 changes: 190 additions & 0 deletions IronSchool/src/main/java/Administration.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
import java.util.Scanner;

public class Administration {
private Registration registration = new Registration();

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(ANSI_CYAN_BACKGROUND + "\uD83C\uDFEBIntroduce el nombre de la escuela:" + ANSI_RESET);
String nameSchool = scanner.nextLine();

scanTeachers();
scanCourses();
scanStudents();

scanCommands();
}

public void scanTeachers() {
Scanner scanner = new Scanner(System.in);
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(ANSI_PURPLE + "Introduce el nombre del profesor:" + ANSI_RESET);
String name = scanner.nextLine();

System.out.println(ANSI_PURPLE + "Introduce el salario del profesor:" + ANSI_RESET);
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(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(ANSI_GREEN + "Introduce el nombre del curso:" + ANSI_RESET);
String name = scanner.nextLine();

System.out.println(ANSI_GREEN + "Introduce el precio del curso:" + ANSI_RESET);
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(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(ANSI_YELLOW + "Introduce el nombre del estudiante:" + ANSI_RESET);
String name = scanner.nextLine();

System.out.println(ANSI_YELLOW + "Introduce la dirección del estudiante:" + ANSI_RESET);
String address = scanner.nextLine();

System.out.println(ANSI_YELLOW + "Introduce el email del estudiante:" + ANSI_RESET);
String email = scanner.nextLine();

Student student = new Student(name, address, email);
System.out.println(student.toString());
registration.addStudent(student);
}
}

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(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("*********************************************");
}
}
70 changes: 70 additions & 0 deletions IronSchool/src/main/java/Course.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import java.util.UUID;

public class Course {
private String courseId = UUID.randomUUID().toString().substring(0,4);
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 +
'}';
}
}
19 changes: 19 additions & 0 deletions IronSchool/src/main/java/IRegistration.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
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);

void showProfit();
}
7 changes: 7 additions & 0 deletions IronSchool/src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
public class Main {

public static void main(String[] args) {
Administration administration = new Administration();
administration.executeAdmid();
}
}
Loading