Logo SyntaxTerror

Bitácora del Proyecto equipo de trabajo "SyntaxTerror"

Seguimiento del desarrollo · 2º DAM

Resumen del proyecto WIP

El objetivo principal del proyecto es desarrollar una aplicación completa que combine interfaz, lógica de negocio y base de datos, aplicando los conocimientos de 2º DAM. Buscamos trabajar como un equipo real usando herramientas como GitHub, Kotlin y Firestore (Firebase NoSQL), y entregar una solución funcional y bien documentada que demuestre nuestras competencias como desarrolladores.

Nombre del proyecto

Proyecto Intermodular 2º DAM

Objetivos del proyecto

  • Analizar y definir los requisitos funcionales y técnicos del proyecto.
  • Diseñar la estructura de la base de datos en Firestore (Firebase NoSQL) con integridad referencial.
  • Implementar la lógica de negocio en Java con código modular y mantenible.
  • Desarrollar una interfaz gráfica clara, funcional y adaptada al usuario.
  • Gestionar la base de datos con DBeaver y validar consultas durante el desarrollo.
  • Utilizar Git y GitHub para el control de versiones y trabajo colaborativo.
  • Planificar el proyecto mediante fases visibles en bitácora, cronograma y roadmap.
  • Realizar pruebas funcionales y corregir errores detectados.
  • Elaborar toda la documentación técnica y de usuario requerida en el módulo.
  • Fomentar la organización y trabajo en equipo dentro del grupo SyntaxTerror.

Fases principales

  • Fase 1 – Análisis y planificación
    Definir requisitos, esquemas, tecnologías y planificación inicial.
  • Fase 2 – Diseño
    Diseño de BD, arquitectura, interfaces, navegación...
  • Fase 3 – Desarrollo
    Implementación de funcionalidades, pruebas y correcciones.
  • Fase 4 – Documentación y entrega
    Manuales, memoria técnica, preparación de la presentación final.

Panel de tareas

Tarea Estado Prioridad
Definir alcance del proyecto ✅ Completado Alta
Configurar repositorio en GitHub ✅ Completado Media
Crear estructura inicial de la app ✅ Completado Alta
Escribir documentación mínima ✅ Completado Media

Etiquetas

#backend #frontend #base-de-datos #documentación #pruebas #devops #diseño #planificación #PixelGym

Semana Actividad Estado
1 Análisis, definición del alcance y creación del repositorio. ✅ Completado
2 Diseño de BD (Firestore (Firebase NoSQL)) y conexión con Firebase. ✅ Completado
3 Desarrollo de la lógica principal de la aplicación. ✅ Completado
4 Pruebas, correcciones y documentación final. ✅ Completado

Documentación del proyecto actualizado

Resumen vivo de lo que llevamos preparado hasta hoy: alcance, viabilidad, roles, requisitos y riesgos. Esta sección se mantiene alineada con lo que estamos entregando en GitHub (bitácora + materiales).

0) Consultas utilizadas (Firestore)

Hemos documentado las consultas reales usadas en la app (Firebase/Firestore), incluyendo filtros, lecturas, escrituras y transacciones.
🔥 Ver consultas Firestore (en la web) 🎬 Ver vídeos demostrativos 🔥 Ver consultas Firestore (en la web) ⬇️ Descargar PDF (opcional)

1) Alcance (MVP) y visión

Desarrollar una solución tecnológica completa (app de escritorio + app Android) para la gestión y reserva de espacios/recursos (salas, equipos, parkings). Empezamos por un MVP centrado en un gimnasio para después escalar si hay tiempo.

2) Tecnologías y herramientas

3) Organización del equipo (roles)

Rol Responsabilidad En GitHub
Project Manager Coordina el equipo, prioridades y bloqueos. Hitos, issues, planificación
Secretaría Documentación formal y actualización de la web/bitácora. Docs / HTML / Wiki
Frontend UI/UX (JavaFX + Android), navegación y pantallas. Ramas de UI + PRs
Backend Modelo de datos, lógica, endpoints/servicios. Ramas backend + PRs
QA Pruebas funcionales/no funcionales, reporte de bugs. Issues tipo bug
DevOps Flujo de ramas, despliegues, revisiones de PRs. Supervisión de merges

4) Requisitos (resumen)

5) Riesgos (los que vigilamos)

6) DAFO (resumen)

Debilidades Amenazas
Curva de aprendizaje, pruebas y documentación, integración multiplataforma. Limitación de tiempo, ciberseguridad/RGPD, cambios de versiones.
Fortalezas Oportunidades
Tecnologías maduras, arquitectura API+BBDD escalable, documentación abundante. Demanda de soluciones self-service, mercado en crecimiento para gestión de recursos.

Fuente interna: recopilación y viabilidad técnica del proyecto (documento del equipo).

Cronograma (Gantt interactivo) interactivo

📊 Ver cronograma completo
🖱️ Pasa por encima de las barras para ver detalle · 📅 Línea naranja = HOY
Si no cabe, desliza horizontal (scroll) en el gráfico

UX / Diseño centrado en el usuario (HCD)

Checklist de cómo estamos enfocando el diseño para que la app sea usable (no solo “bonita”).

Fecha Qué se hizo Estado
16/02/2026 Revisión del flujo de pantallas (login/registro) y comprobación de navegación. Ajustes de toolbar y botones para que el usuario no se pierda. Hecho
17/02/2026 Sincronización del repositorio y estructura de carpetas. Revisión de recursos (nombres válidos en res/) para evitar errores de compilación. Hecho
18/02/2026 Documentación visual: recopilación de logos, perfiles e imágenes del proyecto para usar en la web y en el PDF. Limpieza de assets duplicados. Hecho
19/02/2026 Base de datos: revisión del modelo y diagrama ER (tablas principales, relaciones, estados). Preparación de scripts de creación y ejemplos. Hecho
20/02/2026 Web (GitHub Pages): mejoras de estructura, secciones y presentación. Ajustes para que las imágenes se carguen desde rutas del repositorio. Hecho
21/02/2026 Hoy: pulido final de UI/UX (modo claro, consistencia de colores, tipografías) y actualización de la documentación en HTML con lo trabajado hasta la fecha. En curso

Nota: este detalle no sustituye al Gantt, lo complementa. El Gantt responde a “fases grandes”, y este bloque responde a “qué hicimos realmente cada día”.

Diseño visual: paleta, tipografías y criterios

En esta fase hemos fijado una identidad visual coherente para que tanto la web (GitHub Pages) como la app PixelGym se sientan parte del mismo proyecto. Nos centramos en consistencia (mismos acentos, mismos contrastes) y en que sea legible. Última actualización: 21/02/2026

Paleta principal (Web / SyntaxTerror)

Para la web elegimos una base oscura (azules/grises) y un accent naranja para botones y enlaces, porque encaja con el carácter del proyecto y mantiene el “look” tecnológico. Importante: evitamos dejar colores “por defecto” (como los colores por defecto de plantilla) para que todo tenga identidad propia.

Fondo
#0F172A · base oscura (contraste alto)
Paneles / tarjetas
#111827 · capas y contenedores
Accent (naranja)
#FF7A00 · botones, badges, enlaces
Texto principal
#E5E7EB · legibilidad

Paleta secundaria (App PixelGym)

Se mantiene el naranja PXG como marca (botones, switches, highlights). Para modo claro usamos un blanco suave para no “quemar” la vista.

Naranja PXG
#FF7A00 · principal
Fondo claro suave
#F4F4F6 · modo claro
Texto oscuro elegante
#1E1E1E · modo claro
Controles inactivos
#DADADA · switches off

Tipografía

Para la app se ha añadido una fuente personalizada en res/font (ej: bebasneue_regular.ttf) y se aplica con android:fontFamily="@font/bebasneue_regular". Importante: nombres de archivo en minúsculas y con _.

Checklist de consistencia visual (UI)
  • Un solo color de acción (accent): naranja en web y en app (misma identidad).
  • Jerarquía: títulos grandes, subtítulos medianos, texto de apoyo en gris.
  • Espaciado: márgenes constantes (8/16/24).
  • Iconos: mismos estilos en todas las pantallas (Material Icons).
  • Accesibilidad: contraste mínimo y tamaños de fuente legibles.

Wireframes (frames) y ajustes de layout

Hemos trabajado los frames (wireframes) para asegurar que la navegación sea lógica antes de “pintar” toda la UI final. Aquí documentamos la decisión y el arreglo de distribución (alineación, tamaños y coherencia entre pantallas).

Qué se ha arreglado

Base de datos (BBDD): modelo, scripts y diagrama

Decisión de Base de Datos: inicialmente estuvimos bastante tiempo investigando y trabajando con PostgreSQL, diseñando tablas y analizando cómo estructurar correctamente las relaciones para el sistema de reservas. Sin embargo, tras evaluar la integración con Android y la complejidad del mantenimiento, decidimos cambiar el enfoque y optar por una base de datos NoSQL utilizando Firebase (Cloud Firestore). Esta decisión nos permitió simplificar la estructura de datos, adaptarla mejor al modelo de usuarios y reservas y aprovechar la integración directa con el ecosistema Android.

Diseño de la base de datos para el módulo gym (usuarios, suscripciones, planes, salas, profesores, sesiones y reservas). Se adjunta el diagrama ER y scripts NoSQL.

Diagrama Entidad-Relación (ER)

Diagrama ER de la base de datos del proyecto

Evidencias y entregables (hasta hoy)

Recopilación rápida de lo que ya está hecho y documentado para poder defender el proyecto y preparar el PDF final.

✅ Hecho

  • Estructura del repositorio + GitHub Pages activa.
  • Bitácora, roadmap y notas rápidas en la web.
  • UX/HCD documentado (pasos y criterios).
  • Paleta de colores definida (web + app).
  • Wireframes/frames y ajustes de layout.
  • Cronograma Gantt incrustado.
  • Modelo de BBDD y diagrama ER.

📌 Próximos pasos

  • Conectar la app con autenticación (email/contraseña) y persistencia.
  • Implementar pantallas finales siguiendo el frame.
  • Pruebas (unitarias + integración) y checklist de navegación.

Bitácora del proyecto

Añadimos una sesión al día o evento de trabajo.

Bitácora – Últimas 3 semanas Sprint final

En estas últimas tres semanas hemos intensificado el desarrollo hasta llegar a la entrega final del proyecto. Trabajo completamente coordinado entre los tres miembros del equipo, aprendizaje continuo y resolución de problemas reales en producción.

🗓️ Semana 1 (2 febrero – 8 febrero 2026)

• Reestructuración y mejora de consultas en Firestore.
• Corrección de errores en autenticación (LoginFragment y RegisterFragment).
• Validaciones mejoradas de usuario y control de estados.
• Ajuste de navegación y flujo completo de registro → login.

🗓️ Semana 2 (9 febrero – 15 febrero 2026)

• Problemas graves con GitHub: superposición de versiones y conflictos de merge.
• Recuperación del proyecto restaurando versiones anteriores y reorganizando ramas.
• Establecimos una mejor coordinación para evitar conflictos futuros.
• Trabajo conjunto casi permanente entre los tres para estabilizar el proyecto.

🗓️ Semana 3 (16 febrero – 22 febrero 2026)

• Implementación del sistema de reservas por día y hora.
• Control de aforo dinámico según capacidad de cada sala.
• Desarrollo del sistema de tickets para reservas.
• Implementación del Fragment Perfil para visualizar tickets restantes.
• Operaciones completas: seleccionar día → seleccionar hora → validar aforo → reservar.
• Ajustes finales de interfaz y experiencia de usuario.

📌 Domingo 23 febrero 2026 – Entrega Final

Entrega del proyecto como Producto Mínimo Viable (MVP) completamente funcional. Realizamos una demo totalmente operativa mostrando:
• Registro y login funcional.
• Sistema de tickets activo.
• Reservas por día y hora con control real de aforo.
• Perfil de usuario con visualización de tickets restantes.
• Confirmación correcta de reservas.

Durante todo el proceso trabajamos los tres prácticamente siempre juntos, coordinándonos en tiempo real, resolviendo errores y aprendiendo de cada problema técnico. Este sprint final nos permitió consolidar conocimientos en Firebase, Git, arquitectura de fragmentos y trabajo en equipo.

Roadmap del proyecto

Fase 1 – Análisis y planificación 100%
Fase 2 – Diseño (BD, interfaces) 100%
Fase 3 – Desarrollo 100%
Fase 4 – Documentación y entrega 100%

Notas rápidas

Quiénes somos

Somos el equipo SyntaxTerror, responsables del desarrollo del proyecto intermodular de 2º DAM. Nuestro objetivo es aplicar las competencias del ciclo para crear una solución útil, organizada y bien documentada.

SyntaxTerror Bot Loading… 🤖

Trabajo con GitHub

Durante el desarrollo del proyecto hemos trabajado utilizando GitHub como sistema de control de versiones. Hemos ido subiendo el proyecto progresivamente, realizando commits frecuentes y actualizando el repositorio conforme avanzábamos en el diseño, la implementación de funcionalidades y las mejoras visuales. Esto nos ha permitido llevar un control ordenado del desarrollo y mantener un seguimiento claro de la evolución del proyecto.