El proyecto consiste en desarrollar una aplicación de flashcards para facilitar el estudio mediante tarjetas de preguntas y respuestas. La aplicación permitirá a los usuarios crear, gestionar y revisar tarjetas de manera eficiente, proporcionando una herramienta útil para el aprendizaje.
- Facilitar el estudio y la memorización de conceptos mediante el uso de flashcards.
- Proporcionar una interfaz de consola intuitiva y fácil de usar para la creación y gestión de tarjetas.
- Implementar funcionalidades que mejoren la experiencia de estudio del usuario.
- Gestión de Tarjetas
- Creación de Tarjetas: Permitir a los usuarios crear nuevas tarjetas con preguntas y respuestas.
- Edición de Tarjetas: Facilitar la edición de tarjetas existentes para actualizar la información.
- Eliminación de Tarjetas: Proporcionar la opción de eliminar tarjetas que ya no sean necesarias.
- Organización de Tarjetas
- Categorías y Etiquetas: Permitir a los usuarios clasificar las tarjetas en diferentes categorías.
- Búsqueda y Filtrado: Implementar funcionalidades de búsqueda y filtrado para encontrar tarjetas específicas rápidamente.
- Revisión de Tarjetas
- Modo de Estudio: Proporcionar un modo de estudio donde los usuarios puedan revisar las tarjetas de manera secuencial o aleatoria.
- Seguimiento de Progreso: Implementar un sistema para rastrear el progreso del usuario y mostrar estadísticas de estudio.
- Frecuencia de Revisión: Ajustar la frecuencia con la que se muestran las tarjetas según el desempeño del usuario (más veces si la respuesta fue incorrecta, menos veces si fue correcta).
- Interfaz de Usuario en Consola
- Menús y Navegación: Crear menús y opciones de navegación claros y fáciles de usar en la consola.
- Interacción Usuario: Facilitar la interacción del usuario mediante comandos simples y mensajes claros.
- Almacenamiento y Persistencia
- Archivos de Texto y JSON: Utilizar archivos de texto y JSON para almacenar las tarjetas de manera persistente.
- Importación: Permitir a los usuarios importar tarjetas.
- Pruebas y Calidad
- Pruebas Unitarias: Escribir pruebas unitarias para asegurar el correcto funcionamiento de las funcionalidades.