Skip to content

Registro de horas de trabajo con pausas automáticas por inactividad. Exporta informes en Excel. Construido con Python + Tkinter + SQLite.

Notifications You must be signed in to change notification settings

Danilovich4/registro-trabajo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🕒 TimeTrack - Registro Inteligente de Horas de Trabajo

TimeTrack es una aplicación de escritorio desarrollada en Python para registrar de forma automática y precisa las horas efectivas de trabajo por proyecto. Permite pausar la jornada manualmente o detectar inactividad (teclado/ratón) de más de 5 minutos para registrar pausas automáticas. Exporta los datos a Excel para su análisis.


🛠 Tecnologías utilizadas

  • Lenguaje de programación: Python 3.11
  • Interfaz gráfica: Tkinter
  • Detección de inactividad: pynput
  • Base de datos: SQLite (timetrack.db)
  • Exportación: Excel (via pandas + openpyxl)
  • Pruebas automatizadas: Pytest
  • Control de versiones: Git + GitHub
  • Editor de desarrollo: Visual Studio Code
  • Gestión de ramas: main (producción) y dev (desarrollo)
  • Empaquetado: PyInstaller para generar .exe
  • Gestión de tareas: Basado en metodología PMBOK

✅ Lista de tareas y progreso

Etapa 1 - Planificación y Documentación

  • Definir objetivo y alcance del proyecto
  • Crear estructura de carpetas Clean Architecture
  • Crear script .bat de inicialización
  • Crear README.md inicial
  • Documentar requisitos (PMBOK + plantilla SRS)
  • Diagramas y documentación técnica (/docs)

Etapa 2 - Diseño Técnico

  • Definir arquitectura (Clean Architecture)
  • Diseñar modelo de datos (SQLite)
  • Identificar y listar librerías en requirements.txt
  • Documentar estructura del sistema y dependencias

Etapa 3 - Desarrollo MVP

  • Registro por proyecto con inicio/parada manual
  • Detección de inactividad con pausa automática (5 min)
  • Gestión de múltiples proyectos por jornada
  • Exportación diaria completa a Excel (.xlsx)
  • Persistencia local en SQLite con recuperación de sesión

Etapa 4 - Testing y Entrega

  • Pruebas unitarias con pytest (entidades, usecases y exportación)
  • Generación de ejecutable .exe con PyInstaller
  • Pruebas del .exe en entorno simulado cliente
  • Generación de archivo instrucciones.txt
  • Actualización y entrega del README.md final

📦 Entregables

  • registro_trabajo.exe → ejecutable principal
  • timetrack.db → base de datos local (se crea sola si no existe)
  • instrucciones.txt → guía de uso para el cliente final

🧠 Sobre este proyecto

Este desarrollo se ha llevado a cabo como parte de un proyecto real de formación en Ingeniería de Software. Aplica buenas prácticas de arquitectura (Clean Architecture), diseño profesional, pruebas automatizadas y entrega funcional empaquetada.

Ha servido como un caso práctico para comprender cómo estructurar un proyecto real: desde documentación inicial hasta despliegue.


🔗 Repositorio del proyecto

GitHub - Danilovich4/registro-trabajo

About

Registro de horas de trabajo con pausas automáticas por inactividad. Exporta informes en Excel. Construido con Python + Tkinter + SQLite.

Topics

Resources

Stars

Watchers

Forks