Proyecto legacy — discontinuado. Este repositorio conserva el código fuente original en UWP C++/CX. Tras ~6 años sin mantenimiento, recibió una última actualización en 2026 con correcciones mínimas de errores y eliminación de datos sensibles para poder publicar el código. No se planean más releases aquí.
Proyecto actual: MisHorarios_cspfm
EMZ Apps — alanjmrt94
App UWP en C++/CX para consultar horarios laborales ingresando el número de legajo. Versión para la marca BK.
Versión final: 1.51 · Plataforma: Windows 10/11, Xbox, HoloLens, Surface Hub
Se realizaron ajustes para que compile al día de hoy 07/07/2026. Versión legacy 1.47: compila en Windows 10 Mobile tal como hace 7 años atrás.
Mis Horarios BK permite ver turnos y horarios de trabajo de forma rápida, con soporte offline mediante caché local del último legajo consultado.
Disponible en Argentina (listing histórico):
Mis Horarios BK en Microsoft Store
| Requisito | Detalle |
|---|---|
| SO | Windows 10 build 10586.0 o posterior, Xbox One / Series X|S |
| Arquitecturas | ARM, x64, x86 |
Solo con fines de referencia o archivo. Para uso activo, ver MisHorarios_cspfm.
Este repo forma parte del workspace local MisHorarios_Cpp junto con HorariosSBX_Cpp (variante SBX).
- Visual Studio 2022 con workload Desarrollo de la plataforma universal de Windows
- Windows 10/11 SDK
En v1.51 se ajustó el proyecto para compilar en CI (windows-latest) con el SDK más reciente disponible en el runner:
WindowsTargetPlatformVersion=10.0(en lugar de10.0.18362.0fijo)- Eliminada la referencia
<SDKReference Include="WindowsMobile, Version=10.0.10586.0" />del.vcxproj
Esto no afecta el soporte de destino declarado en el manifest (WindowsTargetPlatformMinVersion sigue en 10.0.10586.0). La app fue 100 % compatible con Windows Mobile 10 en su época (incluida compilación ARM en la solución).
Para la versión original de Windows Mobile se debe usar la versión histórica v1.47 de este repositorio. Esa línea requiere las herramientas y SDK de la época (Visual Studio con extensión Windows Mobile, SDK 10.0.18362.0 o el que corresponda, y plataforma ARM) y no compila en el CI moderno.
Releases de referencia en GitHub:
- v1.47: versión legacy para Windows 10 Mobile (commit histórico
v1.2). - v1.51: última versión archivada, ajustada para compilar en GitHub Actions al 07/07/2026.
git clone https://github.com/alanjmrt94/HorariosBK_Cpp.git
cd HorariosBK_CppAbrir BK_HORARIOS.sln en Visual Studio.
La URL original de consultas se encuentra dada de baja y se quitó del repositorio por razones de seguridad. Para realizar pruebas, se puede usar una URL local que devuelva un JSON de ejemplo.
La URL del backend no se versiona en Git. Copiar el ejemplo y completar con la URL real:
cp config/api.local.json.example config/api.local.jsonEditar config/api.local.json con la URL base real (archivo gitignored). Debe terminar en / antes del número de legajo:
{ "schedule_api_base_url": "http://host:puerto/.../legajos/" }Resolución en runtime (ScheduleApiConfig):
- Valor compile-time si se definió
ScheduleApiBaseUrlal compilar (CI con secret) ms-appx:///config/api.local.json(empaquetado al compilar si existe el archivo local)%LocalAppData%\Packages\<app>\LocalState\config\api.local.json(override manual)
Si falta el archivo o la URL sigue siendo el placeholder CONFIG_*, la app muestra error y vuelve a Welcome.
El workflow .github/workflows/build.yml compila en windows-latest, ejecuta tests unitarios de parsing JSON y publica el .appx como artifact.
El proyecto de tests (BK_Horarios.Tests) compila los modelos JSON C++/CX de la app y enlaza con el framework nativo de pruebas de Visual Studio (Microsoft.VisualStudio.TestTools.CppUnitTestFramework.lib). Para CI se resuelven explícitamente las referencias WinMD (platform.winmd y Windows.winmd), las rutas de VC\Auxiliary\VS\UnitTest y la ubicación de vstest.console.exe dentro de Visual Studio.
| Secret (opcional) | Uso |
|---|---|
BK_SCHEDULE_API_BASE_URL |
URL base inyectada en Release via MSBuild (/p:ScheduleApiBaseUrl=...) |
El certificado de firma se genera en cada ejecución (solo desarrollo/sideload CI). Para Store se requiere certificado de Partner Center.
- CI GitHub Actions: build x64 Release, empaquetado
.appx, tests JSON - URL de API compile-time para CI (
ScheduleApiBaseUrl) - Ajuste de SDK para CI:
WindowsTargetPlatformVersion=10.0; retirada referenciaWindowsMobile(ver sección SDK y Windows Mobile 10) - Ajustes de compatibilidad CI para tests C++/CX: referencias WinMD explícitas,
pch.hde tests con namespaces WinRT y link al framework nativoCppUnitTest - Limpieza de assets no referenciados,
PlugInFilter,CreateHttpClienty metadata Store - Última actualización de este repositorio legacy; desarrollo activo en MisHorarios_cspfm
- Configuración de URL de API externa (
api.local.json) - Validación de código HTTP antes de parsear JSON
- Lectura completa de caché offline
- Corrección de navegación atrás duplicada
- Mejoras en reintentos de conexión
- Limpieza de datos sensibles del historial Git
- CI GitHub Actions: build x64 Release, tests JSON, artifact
.appx - Limpieza de referencias a certificados Store en
.vcxproj
- Manifiestos actualizados
- Corrección de dirección de servidor (legajo no encontrado)
- Versión mínima de Windows actualizada a 10.0.10586
- Correcciones menores en enlaces
- Certificados actualizados
Historial completo en la app: Release notes desde la pantalla de bienvenida.
| Repo | Descripción |
|---|---|
| MisHorarios_cspfm | Proyecto actual y mantenido |
| HorariosBK_Cpp | Este repositorio legacy (BK) |
| HorariosSBX_Cpp | Variante SBX legacy (mismo código base) |
| MisHorariosCpp_UWP | Unificación histórica del código fuente |
MisHorariosCpp_UWP v1.53u_a fue una versión intermedia que:
- Fusiona Mis Horarios SBX y BK en la misma solución.
- Agrega soporte para la plataforma ARM64.
- No incluye cambios de código funcional.
MisHorarios_cspfm v1.62 es el proyecto actual en mantenimiento:
- Cambio principal: transpilación de C++ a C#.
- Fusiona Mis Horarios SBX y BK en la misma solución.
- Agrega soporte para ARM64 (mínimo
10.0.16299.0). - Reescribe y mejora todo el código.
- Corrige varios errores, íconos y textos de release notes.
- Actualiza
FooterPanela la versión v4 con enlace de privacidad en Configuración para la certificación de Tienda. - Mejora traducciones, colores, animaciones, tamaños de ventana y diseño de
HorariosPage. - Evita que la carga de notas de versión bloquee la GUI.
- Corrige la animación de carga.
- Agrega
UpdaterCheckerpara comprobación de actualizaciones.
- Plan de desarrollo:
.cursor/plan-desarrollo-revision.md(no commiteado)
| alanjmartinez94@gmail.com | |
| GitHub | github.com/alanjmrt94 |
| @alanjmrt94 | |
| alanjmrt94 | |
| X | @alanjmrt94 |
Este código es el reflejo de mis primeros años como programador. Gracias a todas las personas que me acompañaron en ese camino — compañeros, mentores, familia y amigos — por el apoyo, la paciencia y las ganas de seguir aprendiendo cuando recién empezaba. Sin ustedes, estas apps no habrían existido.