Ejercicio de programación con TypeScript: Proyecto Generator de datos

Proyecto
Práctica
3h 0m

Desarrolla un proyecto TypeScript para generar datos de prueba con tipos básicos y estructuras complejas, con exportación JSON y pruebas unitarias.

  1. Crea un nuevo proyecto TypeScript configurando tsconfig.json con opciones estrictas y crea la estructura básica de carpetas (src, tests, etc.).

  2. Implementa la clase base Generator que contendrá los métodos comunes y la lógica para manejar semillas aleatorias. Esta clase debe tener al menos un método setSeed(seed: number) y un método abstracto generate().

  3. Desarrolla generadores específicos para tipos básicos que hereden de la clase base:

  • NumberGenerator: para generar números con opciones de rango, decimales, etc.
  • StringGenerator: para generar cadenas con opciones de longitud, patrón, etc.
  • DateGenerator: para generar fechas con opciones de rango temporal.
  • BooleanGenerator: para generar valores booleanos con probabilidad configurable.
  1. Implementa un ComplexGenerator que permita generar estructuras de datos compuestas como objetos y arrays, utilizando los generadores básicos como componentes.

  2. Crea una clase Schema que permita definir la estructura de los datos a generar, especificando campos, tipos y restricciones.

  3. Desarrolla una clase DataGenerator que utilice un esquema para generar conjuntos de datos completos, con métodos para generar uno o múltiples registros.

  4. Implementa funcionalidad de exportación para guardar los datos generados en formato JSON, con opciones de formato y estructura.

  5. Añade documentación con JSDoc a todas las clases y métodos, incluyendo ejemplos de uso.

  6. Escribe pruebas unitarias para verificar el correcto funcionamiento de cada generador y la consistencia de los datos generados con una misma semilla.

  7. Crea un ejemplo de uso completo que demuestre todas las capacidades de la biblioteca, generando un conjunto de datos para un caso práctico (por ejemplo, usuarios con perfiles, productos con categorías, etc.).

Empezar ejercicio de programación

Más ejercicios de programación con TypeScript

Evalúa tus conocimientos en TypeScript con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub