Este proyecto es un sistema de gestión de correos electrónicos desarrollado utilizando la metodología de Desarrollo Dirigido por Pruebas (TDD). A continuación, se describen los requisitos y las funcionalidades del sistema.
- Los correos electrónicos deben incluir las siguientes características: Asunto, Contenido, Remitente (un solo contacto) y Destinatarios (múltiples contactos).
- Un usuario puede enviar un correo a múltiples contactos especificando varios destinatarios en el campo "Para".
- Cuando un usuario envía un correo, este debe ser almacenado en la Bandeja de Enviados del emisor y en la Bandeja de Recibidos del remitente.
- Un "Contacto" es un objeto que contiene información sobre el nombre de una persona y su dirección de correo electrónico. Se utiliza para especificar el remitente o los destinatarios en el campo "Para".
- Los usuarios pueden crear filtros para organizar sus correos electrónicos.
- Los filtros son carpetas que se utilizan para filtrar correos en función de elementos del correo, como parte del asunto, parte del contenido, remitente o destinatarios en el campo "Para".
- Los filtros deben tener un nombre descriptivo, como "Correos de la UCP".
- La aplicación debe ser capaz de gestionar al menos 5 filtros.
- De estos 5 filtros, al menos 2 o 3 de ellos deben ser filtros complejos, es decir, deben poder buscar correos en función de 2 o más campos simultáneamente (por ejemplo, asunto y remitente).
- Los usuarios pueden buscar correos en una bandeja.
- Búsqueda por asunto.
- Búsqueda por remitente.
- Búsqueda por mensaje.
- Búsqueda por asunto + mensaje.
- Búsqueda por asunto + remitente.
- La aplicación debe permitir que los usuarios se registren y creen cuentas de usuario.
- Para crear un usuario, se deben recopilar y almacenar información básica, como nombre, apellido y dirección de correo electrónico.
- Cada usuario debe tener su propio espacio de trabajo y bandeja de entrada privada para gestionar sus correos electrónicos y filtros personalizados.