Task Manager JSON es una aplicación de consola desarrollada en .NET que permite gestionar tareas personales utilizando un archivo JSON como base de datos. El proyecto sigue los principios SOLID y emplea servicios para garantizar un código modular y mantenible.
- Listar todas las tareas: Visualiza todas las tareas registradas en el archivo JSON.
- Agregar una nueva tarea: Crea y guarda una nueva tarea en la base de datos JSON.
- Marcar tarea como completada: Actualiza el estado de una tarea a completada.
- Eliminar una tarea: Borra una tarea de la base de datos JSON.
- Salir: Finaliza la ejecución del programa.
- .NET 8 o superior
- Biblioteca Newtonsoft.Json para la serialización y deserialización de datos JSON.
El proyecto está organizado de la siguiente manera:
TaskManagerJSON
├── Models
│ └── PersonalTask.cs
├── Services
│ ├── TaskChecker.cs
│ ├── TaskFetcherService.cs
│ ├── TaskDisplayService.cs
│ ├── TaskManagerService.cs
├── Data
│ └── tasks.json
└── Program.cs
- Models: Contiene la clase
PersonalTask, que representa una tarea con propiedades comoId,Name,Description, yCompleted. - Services: Incluye clases para gestionar las tareas, realizar validaciones, y mostrar datos en la consola.
- Data: Carpeta donde se encuentra el archivo
tasks.json, que funciona como la base de datos del proyecto. - Program.cs: Archivo principal que contiene la lógica de la aplicación y el flujo del menú.
-
Clona este repositorio en tu máquina local:
git clone https://github.com/jcomte23/TaskManagerJSON.git
-
Navega al directorio del proyecto:
cd TaskManagerJSON -
Restaura las dependencias del proyecto:
dotnet restore
-
Asegúrate de que el archivo
tasks.jsonexista en la carpetaData.Si no existe, el programa lo creará automáticamente al ejecutarse.
Ejecuta el programa con el siguiente comando:
dotnet runSigue las instrucciones en pantalla para navegar por el menú y realizar las operaciones deseadas.
[
{
"Id": "d2f4d7b7-78a4-4f53-89ab-c8b1f6b5f2ad",
"Name": "Estudiar C#",
"Description": "Estudiar las colecciones en C#",
"Completed": false
},
{
"Id": "b32fc114-9832-4d69-857c-d1ed66be1b0d",
"Name": "Hacer ejercicio",
"Description": "Ir al gimnasio por 1 hora",
"Completed": false
}
]Si deseas contribuir a este proyecto:
-
Haz un fork del repositorio.
-
Crea una rama para tu funcionalidad o corrección de errores:
git checkout -b feature/nueva-funcionalidad
-
Realiza tus cambios y envía un pull request.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.