Ejercicio de programación con TypeScript: Proyecto calculadora gastos
1h 30m
Desarrolla una calculadora de gastos con TypeScript para registrar, categorizar y analizar gastos personales con persistencia local.
Crea la estructura básica del proyecto con los archivos necesarios:
index.ts
,models.ts
,storage.ts
ycalculator.ts
. Define enmodels.ts
las interfaces paraExpense
(con propiedades como id, amount, category, date y description) yCategory
(con propiedades como id y name).Implementa en
storage.ts
una claseStorageManager
que se encargue de guardar y recuperar datos del localStorage. Esta clase debe tener métodos para guardar gastos, recuperarlos, y eliminarlos.Desarrolla en
calculator.ts
una claseExpenseCalculator
con métodos para calcular el total de gastos, el total por categoría, el gasto promedio y el gasto máximo. Utiliza tipos genéricos donde sea apropiado.Crea un sistema de filtrado en la clase
ExpenseCalculator
que permita filtrar gastos por rango de fechas y por categoría, asegurándote de manejar correctamente los tipos de datos.Implementa en
index.ts
la lógica principal que conecte los componentes anteriores. Crea funciones para añadir gastos, mostrar estadísticas y filtrar resultados.Añade validaciones de datos utilizando tipos personalizados o uniones de tipos para garantizar que los datos ingresados sean correctos (por ejemplo, que el monto sea un número positivo).
Implementa un sistema de categorías predefinidas y personalizables, utilizando enums de TypeScript para las categorías base.
Desarrolla funcionalidad para exportar los datos de gastos en formato JSON utilizando tipos específicos para el formato de exportació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.
Funciones
Reto composición de funciones
Reto tipos especiales
Reto tipos genéricos
Módulos
Polimorfismo
Funciones TypeScript
Interfaces
Funciones puras
Reto namespaces
Funciones flecha
Polimorfismo
Operadores
Conversor de unidades
Funciones flecha
Control de flujo
Herencia
Clases
Proyecto validación de tipado
Clases y objetos
Tecnologías de este ejercicio de programación
Entornos de desarrollo para este ejercicio

Visual Studio Code

GitHub