Este proyecto consiste en un sistema para gestionar una agenda telefónica con las siguientes características y reglas:
Se organizó el equipo para llevar un buen flujo de trabajo el cual fue el siguiente:
- Creación y organización carpetas proyecto.
- Asignación de tareas por medio de trello.
- Realización del código (main, clases, metodos)
- Prueba y funcionalidad por consola
- Investigación de interfaces.
- Selección de interfaz.
- Creación visual.
- Prueba de funcionalidad.
Inspirados por los celulares clásicos tipo Nokia, decidimos simular una interfaz gráfica retro usando JavaFX Scene Builder, integrando una imagen como fondo para recrear la experiencia visual de un teléfono antiguo.
Aquí algunas imágenes que usamos como referencia para la UI:
Fase | Imagen |
---|---|
🖼️ Imagen inicial de referencia | |
📟 Diseño tipo Nokia clásico |
Video.BackEnd.mp4
-
Un contacto está definido por:
-
Nombre
-
Apellido
-
Teléfono (no se valida el formato del teléfono)
-
Dos contactos se consideran iguales si tienen el mismo nombre y apellido, sin importar mayúsculas o minúsculas.
- La agenda está formada por un conjunto de contactos.
- Se puede crear la agenda de dos formas:
- Indicando el tamaño máximo de contactos.
- Usando un tamaño por defecto de 10 contactos.
- Los nombres y apellidos no pueden estar vacíos.
- No se permite añadir contactos duplicados (contactos con el mismo nombre y apellido).
Se crea un menú por consola para probar todas las funcionalidades de la agenda telefónica:
- Añade un contacto a la agenda.
- Si no hay espacio suficiente, se indica al usuario que la agenda está llena.
- Antes de añadir el contacto, se verifica que no exista ya (contactos con el mismo nombre y apellido se consideran duplicados).
- No se puede añadir un contacto si el nombre o apellido están vacíos.
- Verifica si un contacto ya existe en la agenda.
- Los contactos se consideran iguales si tienen el mismo nombre y apellido, sin importar el teléfono.
- Muestra todos los contactos en el formato:
Nombre Apellido - Teléfono
. - Ordena los contactos alfabéticamente por nombre y apellido antes de mostrarlos.
- Permite buscar un contacto por nombre y apellido.
- Si el contacto existe, muestra el teléfono.
- Si no existe, muestra un mensaje indicando que no se ha encontrado.
- Elimina un contacto de la agenda.
- Muestra un mensaje indicando si la eliminación fue exitosa o no.
- Si se intenta eliminar un contacto que no existe, se indica al usuario.
- Permite modificar el teléfono de un contacto existente.
- Si el contacto no existe, muestra un mensaje.
- Indica si la agenda está llena.
- Muestra un mensaje indicando que no hay espacio disponible para nuevos contactos.
- Muestra cuántos contactos más se pueden agregar a la agenda.
- Esto se basa en el tamaño máximo definido al crear la agenda.
- Java
- JavaFX
- IntelliJ IDEA
- Git & GitHub
- Adobe Ilustrator
-- -- --
Carlos Torres |
Angela Laverde |
Richard Chavez |
Veronica Cardenas |