Skip to content

Simple Useful Clock, una aplicación utilitaria con Reloj Mundial, Temporizador y Cronómetro, personalizable y disponible en español e inglés.

License

Notifications You must be signed in to change notification settings

ClarkCodes/SmallvilleClock_Java_Netbeans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smallville Clock

Simple Useful Clock, una aplicación utilitaria con Reloj Mundial, Temporizador y Cronómetro, personalizable y disponible en español e inglés.

Ten en cuenta la hora actual en varios países con el Reloj Mundial, establece tiempos de terminación de alguna tarea con slots de presets disponibles, estableciendo tus propios sonidos o canciones como sonido de aviso, usando el Temporizador, mide tiempos de completado entre diferentes tareas o competidores de alguna carrera y guardalos en un archivo para poder revisarlos después con el Cronómetro, activa el modo mini para no ocupar mucho espacio en pantalla, Smallville Clock estará para ti siempre que lo necesites, para los tiempos que requieras... Smallville Clock, siempre a tiempo.

Tecnologías utilizadas

Cks-Java

Java

Gradle

FlatLaf

Apache NetBeans

Estado del Proyecto

Esta aplicación se encuentra es fase Alpha, todavía en desarrollo, no está completamente terminada, puede considerarse un MVP(Minimum Viable Product), está sujeta a ajustes y cambios cualesquiera estos sean hasta la publicación de su versión estable oficial 1.0, sin embargo el concepto y la idea original estan bastante realizados.

¿Qué puedes hacer con Smallville Clock?

Smallville Clock es una aplicación simple, pero útil, que te puede ayudar en tus tareas cotidianas. Esta versión de Smallville Clock está destinada a PCs, dado que está desarollado con Java Swing, aunque es posibles que en el futuro aparezca para otras plataformas en forma de proyectos paralelos. Esta app está pensada para cualquier uso práctico del día a día, en lo que sea que la quieras usar, nace de la necesidad de tener a la mano un Temporizador o un Cronómetro con los cuales poder medir tiempo de tareas y cosas que estemos haciendo en algún momento determinado, de poner cuentas regresivas para la terminación de alguna tarea, como por ejemplo, establecer 2 minutos de temporizador cuando vas a calentar leche para tu capuccino matutino y que así esta no se reboce ni se queme, ya que el sonido o la canción al terminar el tiempo junto con el mensaje en pantalla te alertarán y te avisarán que el tiempo se ha cumplido, esto resulta especialmente útil porque uno muchas veces está ocupado o distraído en otras cosas, pero Smallville Clock llevará la cuenta por ti y te avisará.

  • Puedes ver la hora de distintos países con el Reloj Mundial y tiene 4 slots para relojes adicionales a la hora local del sistema.

  • Puedes tener una cuenta regresiva siempre que quieras con el Temporizador y tiene slots para temporizadores preestablecidos que quieras guardar con un tiempo y un nombre, para que de esta manera la próxima vez que necesites un tiempo que usas comunmente, solo des click sobre el, click en aceptar y el tiempo se establece automáticamente.

  • Puedes medir el tiempo de duración ya sea de una actividad o en una competencia y dentro de esta vueltas que marques, además puedes guardar todos estos tiempos en un archivo de Smallville Clock para que los puedes abrir y revisar siempre que lo necesites.

  • Usa el Modo Mini en cualquiera de los modos para no ocupar mucho espacio en pantalla y establecela sobre todas aplicaciones para que puedas estar haciendo cualquier otra cosa mientras tienes el tiempo siempre en pantalla y no se te pierda.

  • Cuenta con persistencia de datos mediante su configuración y preferencias de usuario, por lo tanto todo lo que agregues en slots como relojes mundiales y temporizadores preestablecidos seguirán estando cuando hallas cerrado la aplicación y la vuelvas a abrir.

  • Cuenta con Preferencias de Usuario, la aplicación es parametrizable y personalizable a tu gusto, tienes temas claros y oscuros para la interfáz gráfica, diferentes variaciones de colores y estilos.

  • Está disponible en Español e Inglés.

¿Cómo puedes utilizar o abrir el proyecto de Smallville Clock?

  • Clona el Repositorio en local, selecciona la opción de "Abrir con GitHub Desktop" o utiliza la opción de Clonar en tu IDE favorito, usando la url en el botón de Código localizado en este repositorio de GitHub, también puedes descargarlo como ZIP quieres.
  • Ten en cuenta que la aplicación está desarrollada con Apache NetBeans IDE 17, por lo que se recomienda el uso de este IDE(o una versión superior), debes tenerlo instalado en tu equipo para poder abrir el proyecto con él, aunque la opción de importarlo/abrirlo con otros IDEs como IntelliJ Idea es posible, no se recomienda por falta de compatibilidad e interoperabilidad del uno con el otro, así como de diferencia de ciertos formatos para el manejo de archivos de la interfáz gráfica, etc, al igual que posiblemente con otros IDEs, sin embargo esto queda enteramente a tu responsabilidad y cargo, si quieres abrirlo con otro IDE y consigues que funcione con él, ¡espectacular!.
  • Una vez que hallas realizado el paso anterior probablemente ya podrás abrir el proyecto, puede que te pida realizar la primera build con Gradle, así que dejalo hacerlo, da click en resolver y espera a que la compilación termine, da click en aceptar cuando haya terminado.
  • Debes tener Java 21.0.1 en tu PC o configurar el proyecto para que funcione con otra versión si así lo deseas, de ser posible.
  • Configura NetBeans para usar Gradle 8.7 si acaso el IDE no lo hace automaticamente con el proyecto, aunque no suele ser necesario.
  • Cuando el proyecto se abra es posible que te indique que hay conflictos que resolver, esto usualmente se debe a que se tiene que realizar una compilación inicial con Gradle, dale click en resolver y espera a que se realice la compilación y dale click en aceptar cuando termine.
  • Si todo salió bien ya podrás ejecutar el proyecto, revisar su código y modificarlo si quieres, para que se ajuste a tus necesidades específicas o gustos particulares.

¿Cómo contribuír?

Si deseas contribuír con aportaciones de código al proyecto:

  • Haz un FORK del proyecto y trabaja con Git para ir sincronizando las actualizaciones.
  • Una vez hallas realizado el fork y lo tengas en tu perfil de GitHub, clónalo a tu máquina local.
  • Puedes apuntar a resolver un bug, el cual debe tener una issue abierta marcada con la etiqueta de 'Fix Bug', por lo que revisar la sección de issues es un buen punto de partida. Las soluciones a bugs se pueden desarrollar sin apobación previa, siempre y cuando estas en efecto, solucionen el bug.
  • Por otro lado, también puedes proponer una nueva feature, para ello primero abre una nueva issue, dentro de esta indica que se trata de una Feature y describela detalladamente, qué necesidad o problema soluciona esta y por qué seria una buena idea incorporarla al proyecto.
  • Esta issue debe ser revisada y una vez se evalúe que es viable, oportuna y adecuada para el proyecto, será aprobada mediante un mensaje de aprobación en la issue o un medio equivalente, luego será etiquetada como 'Fix Bug','Refactoring', 'Enhancement' o 'Feature' y esta permanecerá abierta hasta que se provea una Pull Request que apunte a su solución o implementación. Si se trata de una issue de tipo Feature, una vez la Feature sea aprobada, se puede empezar a desarrollarla, es importante que se espere a que exista esta aprobación para no dedicar tiempo en vano si la feature no es aprobada, de suceder este segundo escenario, se explicará en la issue el por qué no fué aprobada, fundamentando la razón de manera lógica y posterior a ello esta será cerrada.
  • Una vez que consideres que has culminado de aportar los cambios al código, luego que hayas realizado pruebas y verificado que todo funciona bien, haz el commit en local, al momento de hacer commit, sigue los siguientes Lineamientos para escribir Mensajes en Commits.
  • Ejecuta un 'git push' desde tu rama develop en local a la rama 'develop' en remoto de tu proyecto SmallvilleClock_Java_Netbeans forked en tu perfil, con esto ya tendrias tu proyecto forked actualizado con los cambios que has realizado, ahora hay que llevarlos al repositorio de ClarkCodes.
  • Para ello, en tu proyecto forked, en la parte superior derecha, da click en Contribuír -> Crear Pull Request. Para los títulos y mensajes de las Pull Requests sigue los mismos lineamientos que para los commits, no olvides mencionar a que issue apunta la contribución, ya sea una issue de 'Fix Bug', de mejora o 'Refactoring', nueva 'Feature' o 'Enhancement'. Con esto ya habrias creado la Pull Request, la cual tiene que ser revisada y posteriormente decidirse si se aceptan tus cambios y se los incorporan en el proyecto principal o no, lo cual ya será decisión del administrador del proyecto y/o mantenedor del repositorio.

Ten en cuenta los siguientes aspectos:

  • Para Contribuciones solamente se aceptaran cambios de código en archivos de Java y/o archivos que tengan que ver con Apache NetBeans o archivos de recursos, no se aceptarán Pull Requests que contengan archivos referentes a otros IDEs de desarrollo y que no sean archivos de Java ni de recursos.
  • Usa solamente la rama "develop", la cual es la que se utilizará en el desarrollo activo de la aplicación, la rama main será unicamente la rama de producción destinada a la versión estable una vez que esta sea publicada, aunque mientras dure la versión onDevAlpha actual, la rama main será lo más cercano a este concepto dentro de lo que cabe.
  • Los cambios siempre deben tener un propósito claro y una razón de ser, ya sea apuntando a la correxión de un bug, la implementación de una nueva feature, o la refactorización de alguna parte por motivos de eficiencia o simplificación de código.
  • El código que escribas debe siempre apegarse a buenas prácticas, principios de legibilidad y mantenibilidad.
  • Siempre solicita cambios mediante Pull Request, no realices commits forzados tipo 'git push --force' directamente contra ninguna rama, unicamente realiza Pull Requests sobre la rama develop, todas las Pull Requests deben ser revisadas previamente antes de realizar un posible merge sobre la rama develop en el proyecto principal si no se halla ningún problema, conflicto ni inconveniente.
  • Aunque puede darse que en algún momento alguna Pull Request pueda no ser aceptada o solicitar cambios en esta, debido a que en primera instancia se debe priorizar la consistencia, coherencia e integridad del proyecto, por el bien y la salud de este, más allá de ello, por supuesto que toda contribución es bienvenida y agradecida, dado que se entiende que no se está obligado a ello y esta viene desde el espíritu de colaboración conjunta como comunidad Open Source de desarrolladores, por y para mejores piezas y productos de software, para el uso de todos al fin y al cabo, muchas gracias fraternales por ello.

ClarkCodes Logo OnTransparent_100x100px_300ppi Hey what's up man!, soy Clark, el creador de Smallville Clock.

Twitter Follow GitHub Followers

Soy un Desarrollador de Software autodidacta, actualmente estudiante de estudios universitarios de grado superior en Ingeniería de Software, apasionado por la programación y la tecnología.

Como contactarme

  • 📫 Puedes enviarme un email a clark.codes.sk@gmail.com e intentaré responder lo más pronto posible que pueda, también puedes seguirme en mis redes sociales y ver mi contenido.

Gracias por visitar

Muchas gracias por revisar este proyecto, me gustó mucho hacerlo, y aunque todavía le faltan algunos toques y unos cuantos detalles, ha sido bastante cool hasta ahora, aprendí mucho y pude mejorar en muchas cosas, y la idea es que tu lo puedas usar también y que lo disfrutes, ojala te sea de utilidad y te sirva, al fin y al cabo, esa es la idea, así que nos estamos viendo por aquí próximamente con más proyectos, por YouTube con más videos y en las demás redes sociales, un abrazo, muchos ánimos... con amor, entusiasmo y por supuesto...

Happy Coding! <3

Clark.

About

Simple Useful Clock, una aplicación utilitaria con Reloj Mundial, Temporizador y Cronómetro, personalizable y disponible en español e inglés.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages