Add demo project for Personal Tracker MVP-1
Create example project structure in examples/demo-project/ with: - Project metadata in meta/project.yaml - README, LOG, CHANGELOG and TASKS documentation - Two detailed session files showing real work examples - Empty docs/ and assets/ directories The demo project serves as a reference implementation showing how to use the Personal Tracker CLI effectively.
This commit is contained in:
33
examples/demo-project/CHANGELOG.md
Normal file
33
examples/demo-project/CHANGELOG.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Changelog - Demo Project
|
||||||
|
|
||||||
|
## [0.1.1] - 2026-03-23
|
||||||
|
|
||||||
|
### Agregado
|
||||||
|
|
||||||
|
- Documentacion de la API de exportacion en `docs/api-export.md`
|
||||||
|
- Tests de integracion para el modulo exporter
|
||||||
|
|
||||||
|
### Modificado
|
||||||
|
|
||||||
|
- Actualizado el formato de metadatos de proyecto para incluir `last_session_at`
|
||||||
|
- Mejorado el parseo de fechas en sesiones
|
||||||
|
|
||||||
|
## [0.1.0] - 2026-03-22
|
||||||
|
|
||||||
|
### Agregado
|
||||||
|
|
||||||
|
- Modulo de exportacion con soporte para JSON
|
||||||
|
- Estructura de sesiones con metadatos en YAML front-matter
|
||||||
|
- Archivo `TASKS.md` con seguimiento de tareas
|
||||||
|
|
||||||
|
### Modificado
|
||||||
|
|
||||||
|
- Refactorizacion de `project.yaml` para incluir `slug` y `type`
|
||||||
|
|
||||||
|
## [0.0.1] - 2026-03-20
|
||||||
|
|
||||||
|
### Agregado
|
||||||
|
|
||||||
|
- Estructura inicial del proyecto demo
|
||||||
|
- Metadatos basicos en `meta/project.yaml`
|
||||||
|
- Primera sesion de planificación
|
||||||
59
examples/demo-project/LOG.md
Normal file
59
examples/demo-project/LOG.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# Registro de Sesiones - Demo Project
|
||||||
|
|
||||||
|
## Sesion: 2026-03-22 14:30
|
||||||
|
|
||||||
|
**Duracion:** 2h 15min
|
||||||
|
**Objetivo:** Implementar funcionalidad de exportacion
|
||||||
|
|
||||||
|
### Trabajo realizado
|
||||||
|
|
||||||
|
- Analice los requisitos para la exportacion a JSON y CSV
|
||||||
|
- Diseñe la estructura de datos para los formatos de exportacion
|
||||||
|
- Implemente la funcion base de exportacion en `exporter.py`
|
||||||
|
- Escribi pruebas unitarias para los formateadores
|
||||||
|
|
||||||
|
### Bloqueos
|
||||||
|
|
||||||
|
- None
|
||||||
|
|
||||||
|
### Decisiones
|
||||||
|
|
||||||
|
- Decidi usar una clase base `BaseExporter` con métodos abstractos para cada formato
|
||||||
|
- La estructura de directorios sigue el patrón `YYYY-MM-DD_HHMM.md`
|
||||||
|
|
||||||
|
### Proximos pasos
|
||||||
|
|
||||||
|
- [ ] Implementar exportacion a CSV
|
||||||
|
- [ ] Agregar soporte para exportacion parcial (por rango de fechas)
|
||||||
|
- [ ] Documentar la API de exportacion
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sesion: 2026-03-20 10:00
|
||||||
|
|
||||||
|
**Duracion:** 1h 30min
|
||||||
|
**Objetivo:** Iniciar proyecto demo
|
||||||
|
|
||||||
|
### Trabajo realizado
|
||||||
|
|
||||||
|
- Cree la estructura inicial del proyecto demo
|
||||||
|
- Defini los metadatos base en `meta/project.yaml`
|
||||||
|
- Configure el sistema de seguimiento basico
|
||||||
|
- Revise la documentacion del tracker CLI
|
||||||
|
|
||||||
|
### Bloqueos
|
||||||
|
|
||||||
|
- Ninguno
|
||||||
|
|
||||||
|
### Decisiones
|
||||||
|
|
||||||
|
- El proyecto usara el tipo "misc" para mayor flexibilidad
|
||||||
|
- Las sesiones se almacenaran en formato Markdown con metadatos YAML
|
||||||
|
|
||||||
|
### Proximos pasos
|
||||||
|
|
||||||
|
- [ ] Definir las primeras tareas del proyecto
|
||||||
|
- [ ] Crear la estructura de documentacion
|
||||||
|
- [ ] Establecer el flujo de trabajo regular
|
||||||
|
|
||||||
|
---
|
||||||
21
examples/demo-project/README.md
Normal file
21
examples/demo-project/README.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Demo Project
|
||||||
|
|
||||||
|
## Descripcion
|
||||||
|
|
||||||
|
Proyecto de demostración del tracker personal para mostrar las capacidades del sistema de seguimiento de tareas y sesiones.
|
||||||
|
|
||||||
|
## Estado
|
||||||
|
|
||||||
|
- **Estado:** Activo
|
||||||
|
- **Tipo:** Misc
|
||||||
|
- **Etiquetas:** demo, example
|
||||||
|
|
||||||
|
## Secciones
|
||||||
|
|
||||||
|
- [Tareas](./TASKS.md) - Lista de tareas del proyecto
|
||||||
|
- [Registro de sesiones](./LOG.md) - Historial de sesiones de trabajo
|
||||||
|
- [Cambios](./CHANGELOG.md) - Registro de cambios realizados
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Ultima actualizacion: 2026-03-23T12:00:00*
|
||||||
31
examples/demo-project/TASKS.md
Normal file
31
examples/demo-project/TASKS.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# Tareas - Demo Project
|
||||||
|
|
||||||
|
## Inbox
|
||||||
|
|
||||||
|
- [ ] Revisar feedback del usuario sobre la interfaz de exportacion
|
||||||
|
- [ ] Investigar opciones para generar reportes en PDF
|
||||||
|
|
||||||
|
## Next
|
||||||
|
|
||||||
|
- [ ] Implementar exportacion a CSV
|
||||||
|
- [ ] Agregar filtros por fecha en el listado de tareas
|
||||||
|
- [ ] Crear plantilla para reportes semanales
|
||||||
|
|
||||||
|
## Active
|
||||||
|
|
||||||
|
- [ ] Implementar exportacion a CSV (iniciado 2026-03-22)
|
||||||
|
|
||||||
|
## Blocked
|
||||||
|
|
||||||
|
- [ ] Integracion con API de terceros (pendiente credenciales)
|
||||||
|
|
||||||
|
## Waiting
|
||||||
|
|
||||||
|
- [ ] Revision de codigo por parte del equipo (esperando feedback)
|
||||||
|
|
||||||
|
## Done
|
||||||
|
|
||||||
|
- [x] Crear estructura inicial del proyecto - 2026-03-20
|
||||||
|
- [x] Implementar exportacion a JSON - 2026-03-22
|
||||||
|
- [x] Escribir pruebas unitarias - 2026-03-22
|
||||||
|
- [x] Documentar formato de sesiones - 2026-03-21
|
||||||
0
examples/demo-project/assets/.gitkeep
Normal file
0
examples/demo-project/assets/.gitkeep
Normal file
0
examples/demo-project/docs/.gitkeep
Normal file
0
examples/demo-project/docs/.gitkeep
Normal file
13
examples/demo-project/meta/project.yaml
Normal file
13
examples/demo-project/meta/project.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
id: demo-001
|
||||||
|
name: Demo Project
|
||||||
|
slug: demo-project
|
||||||
|
description: Proyecto de demostración del tracker personal
|
||||||
|
type: misc
|
||||||
|
status: active
|
||||||
|
tags:
|
||||||
|
- demo
|
||||||
|
- example
|
||||||
|
repo_path: null
|
||||||
|
created_at: "2026-03-20T10:00:00"
|
||||||
|
updated_at: "2026-03-23T12:00:00"
|
||||||
|
last_session_at: "2026-03-22T14:30:00"
|
||||||
53
examples/demo-project/sessions/2026-03-20_1000.md
Normal file
53
examples/demo-project/sessions/2026-03-20_1000.md
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
date: "2026-03-20T10:00:00"
|
||||||
|
duration: 90
|
||||||
|
objective: "Iniciar proyecto demo"
|
||||||
|
project: demo-001
|
||||||
|
---
|
||||||
|
|
||||||
|
# Sesion: 2026-03-20 10:00
|
||||||
|
|
||||||
|
## Objetivo
|
||||||
|
|
||||||
|
Iniciar el proyecto demo para demostrar las capacidades del tracker personal.
|
||||||
|
|
||||||
|
## Notas
|
||||||
|
|
||||||
|
### planeacion
|
||||||
|
|
||||||
|
Necesito crear un proyecto que sirva como ejemplo real de uso del sistema.
|
||||||
|
Debe incluir:
|
||||||
|
|
||||||
|
- Estructura de directorios completa
|
||||||
|
- Metadatos realistas
|
||||||
|
- Sesiones de trabajo con contenido genuino
|
||||||
|
- Tareas en diferentes estados
|
||||||
|
|
||||||
|
### observaciones
|
||||||
|
|
||||||
|
El sistema de tracking funciona bien para proyectos personales.
|
||||||
|
La estructura de sesiones con front-matter YAML es flexible y util.
|
||||||
|
Me gusta poder vincular sesiones a proyectos especificos.
|
||||||
|
|
||||||
|
## Trabajo realizado
|
||||||
|
|
||||||
|
- [x] Cree la estructura inicial del proyecto demo
|
||||||
|
- [x] Defini los metadatos base en `meta/project.yaml`
|
||||||
|
- [x] Configure el sistema de seguimiento basico
|
||||||
|
- [x] Revise la documentacion del tracker CLI
|
||||||
|
|
||||||
|
## Bloqueos
|
||||||
|
|
||||||
|
Ninguno.
|
||||||
|
|
||||||
|
## Decisiones
|
||||||
|
|
||||||
|
- El proyecto usara el tipo "misc" para mayor flexibilidad
|
||||||
|
- Las sesiones se almacenaran en formato Markdown con metadatos YAML
|
||||||
|
- El ID del proyecto sera "demo-001" para facilitar la referencia
|
||||||
|
|
||||||
|
## Proximos pasos
|
||||||
|
|
||||||
|
- [ ] Definir las primeras tareas del proyecto
|
||||||
|
- [ ] Crear la estructura de documentacion
|
||||||
|
- [ ] Establecer el flujo de trabajo regular
|
||||||
75
examples/demo-project/sessions/2026-03-22_1430.md
Normal file
75
examples/demo-project/sessions/2026-03-22_1430.md
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
date: "2026-03-22T14:30:00"
|
||||||
|
duration: 135
|
||||||
|
objective: "Implementar funcionalidad de exportacion"
|
||||||
|
project: demo-001
|
||||||
|
---
|
||||||
|
|
||||||
|
# Sesion: 2026-03-22 14:30
|
||||||
|
|
||||||
|
## Objetivo
|
||||||
|
|
||||||
|
Implementar la funcionalidad de exportacion de datos del proyecto a diferentes formatos.
|
||||||
|
|
||||||
|
## Notas
|
||||||
|
|
||||||
|
### investigacion
|
||||||
|
|
||||||
|
Analice los requisitos para la exportacion:
|
||||||
|
|
||||||
|
**JSON:**
|
||||||
|
- Estructura jerarquica con metadatos completos
|
||||||
|
- Incluye timestamps en formato ISO
|
||||||
|
- Representacion de tareas por estado
|
||||||
|
|
||||||
|
**CSV:**
|
||||||
|
- Formato plano para importacion a spreadsheets
|
||||||
|
- Headers: id, titulo, estado, fecha_creacion, fecha_completado
|
||||||
|
- UTF-8 encoding
|
||||||
|
|
||||||
|
### diseno
|
||||||
|
|
||||||
|
Decidi usar una clase base `BaseExporter` con:
|
||||||
|
|
||||||
|
```
|
||||||
|
BaseExporter
|
||||||
|
├── export(data) -> str
|
||||||
|
├── format_metadata(meta) -> dict
|
||||||
|
└── validate_data(data) -> bool
|
||||||
|
|
||||||
|
JsonExporter(BaseExporter)
|
||||||
|
CsvExporter(BaseExporter)
|
||||||
|
```
|
||||||
|
|
||||||
|
### codigo
|
||||||
|
|
||||||
|
Escribi la implementacion inicial del exporter:
|
||||||
|
|
||||||
|
```python
|
||||||
|
class BaseExporter:
|
||||||
|
def export(self, data: dict) -> str:
|
||||||
|
raise NotImplementedError
|
||||||
|
```
|
||||||
|
|
||||||
|
## Trabajo realizado
|
||||||
|
|
||||||
|
- [x] Analice los requisitos para la exportacion a JSON y CSV
|
||||||
|
- [x] Diseñe la estructura de datos para los formatos de exportacion
|
||||||
|
- [x] Implemente la funcion base de exportacion en `exporter.py`
|
||||||
|
- [x] Escribi pruebas unitarias para los formateadores
|
||||||
|
|
||||||
|
## Bloqueos
|
||||||
|
|
||||||
|
Ninguno.
|
||||||
|
|
||||||
|
## Decisiones
|
||||||
|
|
||||||
|
- Decidi usar una clase base `BaseExporter` con metodos abstractos para cada formato
|
||||||
|
- La estructura de directorios sigue el patron `YYYY-MM-DD_HHMM.md`
|
||||||
|
- Los archivos de sesion incluyen front-matter con metadatos estructurados
|
||||||
|
|
||||||
|
## Proximos pasos
|
||||||
|
|
||||||
|
- [ ] Implementar exportacion a CSV
|
||||||
|
- [ ] Agregar soporte para exportacion parcial (por rango de fechas)
|
||||||
|
- [ ] Documentar la API de exportacion
|
||||||
Reference in New Issue
Block a user