Skip to content

Código "semilla" de un sistema de gestión de licencias para un departamento de personal, en donde se lleva registro y control de licencias de empleados sin implementación de GUI.

Notifications You must be signed in to change notification settings

damianstetson17/PyLicenciasPersonal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👥 PyLicenciasPersonal 👥

Base para un sistema de gestión de licencias para un departamento de personal, en donde se lleva registro y control de licencias de empleados, en el podrás:

  • Crear y borrar empleados basados en un identificador denominado "número de legajo".
  • Crear y borrar dias correspondientes por año.
  • Crear Licencias con controles de fines de semana y/o feriados.
  • Llevar registro de licencias y días correspondientes de empleados.

Diagrama de Clases

Se decidió realizar el proyecto en base al paradigmas orientado a objetos, por lo tanto, se adjunta el diagrama de clases asociado a la resolución del escenario, esto también afectó la manera de organización de los módulos y clases del proyecto (Véase carpeta raíz.).

diagrama_de_clases

⚠️ Estado del proyecto ⚠️

Hecho ✅:

  • Modelo completo.
  • No contabilizar días feriados (Estos cargables por el usuario) ni fines de semana a la hora de contabilizar los días de licencia
  • Caducidad de días correspondientes no utilizados en X cantidad de tiempo.
  • "Logger" en consola de los llamados a los módulos y mensajes de errores. errors and msj

No implementado ❌:

  • Conexión con BD.
  • Graphic user interface.

🔧 Construido con:

🚀 ¿Cómo ejecutar? 🚀

Para ejecutar correctamente simplemente compilar el archivo main.py.

  • Tener Python instalado.
  • Abrir un Terminal (En windows apretar Win + r y tipear "cmd").
  • Posicionarse mediante el comando "cd" sobre la carpeta raíz del código.
  • Ejecutar la sentencia "python main.py".

¿Que me encontraré al compilar el archivo main.py?

Que no te pierda la cantidad de contenido dentro del fichero main.py, simplemente crea instancias de los objetos del modelo, comprueba objetos duplicados, vencimientos de días correspondientes, licencias repetidas, licencias no posibles de tomar, entre otros, encima de cada llamado a funciones se encuentra documentado la finalidad del mísmo. Anímate a trastear con el código, sirve como base para proyectos más grandes (Véase una implementación del mísmo en Java).

Una fracción del mensaje mostrado por consola (De la generación de licencias), al compilarse será:

msj_lic

🦚 Aclaraciones 🦚

Este proyecto se ha desarrollado con el fin de aprendizaje del lenguaje Python, como así generar una base sólida para el desarrollo de sistemas de gestiones de Licencias de organizaciones. Por otra parte, se han desarrollado métodos "getters & setters" basados en la filosofía de un fuerte encapsulamiento esto no tendrá nunca la mísma filosofía planteada en Java. Existe un concepto que describe bien la diferencias en este: La idea del "Programador Malvado" (Por favor no malinterpretar esto, es simplemente una metáfora), en Java hay un encapsulamiento muy fuerte en los objetos, ciertas propiedades las podemos acceder solo mediante los métodos apropiados, la idea es que en Java se cuida a los objetos de este hipotético "Programador Malvado", en Python esa idea se la reemplaza por un: "somos todos adultos", es decir cada uno sabe lo que está haciendo, si quieres modificar un atributo interno de un objeto, perfecto, se supone que sabes lo que estás haciendo. Por lo que se han generado métodos hipotéticos que incluso algunos no se utilizan dentro del projecto.

Todas estas imágenes y documentación se encuentran sujetas a cambios, que serán publicados en tiempo y forma.

About

Código "semilla" de un sistema de gestión de licencias para un departamento de personal, en donde se lleva registro y control de licencias de empleados sin implementación de GUI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages