Skip to content

Releases

v1.3.0

Choose a tag to compare

@dimasjavier0 dimasjavier0 released this 30 Oct 16:57

Changed

  • «Continuar con Facebook», en el inicio de sesión, y «Conectar con Facebook» y «Permitir ver mis amigos», en Amigos, muestran por ahora una pantalla que avisa de que esta función no está disponible y que estamos trabajando en ella, con un botón para volver. Para entrar, usa Google.

v1.2.0

Choose a tag to compare

@dimasjavier0 dimasjavier0 released this 27 Oct 21:22

Added

  • Página «Sobre mí» (/about): quién hace LexFlow, por qué existe y cómo está hecha, con enlaces al portfolio, GitHub, LinkedIn y el correo de contacto.
  • Página «Apoyar el proyecto» (/donate) para hacer una donación voluntaria con PayPal desde la web. En la app de Google Play no aparece. La política de privacidad menciona ahora a PayPal.
  • El pie de página enlaza «Sobre mí» y «Apoyar el proyecto».
  • Los términos de uso incluyen los créditos del vocabulario: las listas CEFR-J y Octanove C1/C2 en las que se basan las palabras y sus niveles, con su licencia, y el origen de las fotos, la pronunciación y los videos.
  • El inicio se organiza por niveles: un desplegable para cada nivel, de A1 a C2, con sus colecciones por temas dentro. Cada nivel muestra tu progreso («28 % para dominar A1», con una barra y cuántas palabras faltan) y cada colección, cuántas de sus palabras de ese nivel ya conoces. Al abrir una colección, la lección muestra solo las palabras de ese nivel. Los niveles que aún no tienen palabras aparecen como «Próximamente».
  • Despliegue en AWS: cada push a main compila la web y la publica en S3 detrás de CloudFront, con la API en /api del mismo dominio. El flujo de GitHub Actions entra en AWS con un rol temporal, sin claves.

Changed

  • Las colecciones del inicio cuentan como aprendidas también las palabras dominadas en el repaso, igual que «Mi progreso». Antes solo contaban las marcadas como «Aprendida».
  • Los botones de nivel del inicio dejan paso a los desplegables por nivel.

v1.1.0

Choose a tag to compare

@dimasjavier0 dimasjavier0 released this 22 Oct 22:08

Added

  • Preparación para Google Play: guías para generar la app de Android con Bubblewrap y para rellenar la ficha de Play Store (textos, formulario de seguridad de los datos, clasificación y acceso de los revisores), con el gráfico destacado y cuatro capturas de móvil. Con las variables ANDROID_PACKAGE_ID y ANDROID_SHA256_CERT_FINGERPRINTS, la web publica /.well-known/assetlinks.json, para que la app se abra a pantalla completa sin la barra del navegador.
  • Política de privacidad (/privacy), términos de uso (/terms) y una página que explica cómo eliminar la cuenta desde la app o por correo (/delete-account). Son públicas, sin iniciar sesión, porque Google Play y Facebook piden sus enlaces. Se llega a ellas desde un pie de página nuevo en todas las pantallas de la app, y el inicio de sesión indica que al continuar se aceptan los términos y la política de privacidad.
  • «Eliminar mi cuenta», al final de «Mi progreso»: tras confirmar en un diálogo que enumera lo que se borra, elimina tu inicio de sesión, tu perfil, tu progreso, tus puntos y tus amistades, cierra la sesión y lo confirma en la pantalla de inicio de sesión. No se puede deshacer.

Changed

  • La app abre sin conexión: muestra lo ya visitado y cada pantalla avisa si necesita internet, en lugar de la página de error del navegador.
  • Al instalarla, la app se llama «LexFlow English», aparece en la categoría de educación y la barra de estado usa el color de fondo de la app.

Fixed

  • En el móvil, la cabecera de «Mi progreso» cortaba el nombre a la primera letra cuando había palabras por repasar; ahora el botón «Repasar» pasa a su propia fila.

v1.0.0

Choose a tag to compare

@dimasjavier0 dimasjavier0 released this 19 Oct 19:06

Primera versión como repositorio propio, lista para desplegarse por separado de la API. Incluye todo lo publicado hasta la 0.6.0: inicio con nivel CEFR y colecciones, lecciones de imagen, audio y video, repaso espaciado, perfil con puntos y racha, «Mi progreso», selector de tema, panel admin e instalación como PWA.

Added

  • Inicio de sesión con Facebook, junto al de Google. Facebook pide permiso para compartir tu lista de amigos, y la foto de la cuenta de Facebook se renueva en cada inicio de sesión, igual que la de Google.
  • Página «Amigos» (/friends, en la barra superior): tus amigos de Facebook que usan LexFlow, ordenados por cuántas palabras ha aprendido cada uno (las marcadas como aprendidas y las dominadas en el repaso, igual que en «Mi progreso»), contigo resaltado en la lista. No hay chat: solo se ve el nombre, la foto y la cifra. Si entraste con Google, «Conectar con Facebook» vincula tu cuenta desde ahí; si no compartiste la lista de amigos, «Permitir ver mis amigos» vuelve a pedir el permiso.
  • Logo nuevo: una gota coral con la L dentro. Aparece junto al nombre en la cabecera y en el inicio de sesión, en la pestaña del navegador y como icono al instalar la app.
  • Barra de progreso en las operaciones del panel admin que recorren varias palabras o imágenes: la lista rápida, «Completar imágenes y sonido» (al buscar y al guardar), «Reparar imágenes» (general y sobre la selección) y «Reemplazar» o «Buscar imágenes» sobre la selección. Muestra cuántas van, la última palabra procesada y el recuento hasta el momento: con imágenes, sin imágenes, sin pronunciación, reparadas o no recuperadas.
  • El aviso final de la lista rápida indica también cuántas palabras quedaron sin imágenes.
  • La lista rápida acepta el nivel de cada palabra como tercer campo: cat, gato, A1. Es opcional; sin él la palabra se crea en A1. Un nivel que no sea A1, A2, B1, B2, C1 o C2 marca la línea como inválida, y las palabras que ya existen conservan el suyo.
  • En el repaso, al fallar una palabra aparece «Reintentar»: se puede escribir otra vez antes de ver la solución, y acertar al segundo intento da 1 punto. «Ver la respuesta» la da por fallada.
  • Botón «Eliminar» en cada colección del panel admin. No borra al pulsarlo: abre un diálogo que nombra la colección, indica cuántas palabras se van con ella y pide confirmar con «Sí, eliminar colección».

Changed

  • La lista rápida ya no guarda al pulsar: primero muestra una vista previa con cada lista como la colección en la que quedará y cada palabra como aparece en el panel, con su imagen, traducción y nivel, y marcada como nueva, ya existente o ya incluida (esta se omite). Al pulsar una palabra se ven las imágenes propuestas por Pixabay y se pueden cambiar o quitar (hasta 2; la primera es la portada). Se guarda con «Confirmar y guardar», con las imágenes elegidas; «Volver a editar» conserva el texto.
  • Nueva puntuación del repaso: 2 puntos por palabra acertada (antes 10) y 1 con pista (antes 5). Dominar una palabra ya no da puntos extra (antes 25). Los niveles se ajustan a la nueva escala: el nivel 2 llega a los 20 puntos, el 3 a los 80, el 4 a los 180. Los puntos ya ganados se conservan.
  • El icono de la app se entrega también en PNG (192 y 512 px), para que aparezca al instalarla o añadirla a la pantalla de inicio en móviles que no admiten iconos SVG, incluido iPhone.
  • El nombre junto al logo pasa a ser «LexFlow English», con una letra redondeada propia que se sirve desde la app, sin depender de servicios externos.
  • Las pantallas e indicadores de carga muestran la L dentro de un anillo que se dibuja desde vacío hasta completarse, en lugar del círculo giratorio.
  • Con palabras seleccionadas que no tienen imágenes, el botón pasa a llamarse «Buscar imágenes», actúa sin pedir confirmación y avisa con «Imágenes añadidas a N palabras».
  • Mientras se aplica una acción a las palabras seleccionadas, sus casillas quedan bloqueadas.
  • En el panel admin, al elegir un filtro de palabras («Sin significado», «Sin imágenes» o «Sin sonido») se despliegan solas las colecciones que tienen palabras que coinciden y se pliegan las demás, sin tener que abrir cada colección para ver el resultado.
  • La web es un repositorio propio: se arranca con npm run dev desde su raíz, que guarda su propio .env con las variables VITE_*. npm run build deja la web estática en dist/, y npm run preview la sirve en local.

Fixed

  • En el inicio de sesión y en las pantallas de carga, el botón de tema aparecía desplazado hacia el centro de la pantalla. Vuelve a estar en la esquina superior derecha.
  • La barra de selección ofrecía acciones que no aplicaban a las palabras elegidas, sobre todo al combinarla con un filtro: con «Sin imágenes» se podía «Reparar» o «Eliminar imágenes» y la respuesta era «Las palabras seleccionadas no tienen imágenes caducadas» o «0 imágenes eliminadas». Ahora solo aparecen las acciones que tienen efecto: «Publicar» si hay borradores, «Pasar a borrador» si hay publicadas, «Reparar imágenes» si alguna imagen está caducada y «Eliminar imágenes» si hay imágenes.
  • «Seleccionar todas» con un filtro activo descartaba la selección de las palabras ocultas por el filtro; ahora solo marca o desmarca las que se ven.

v0.6.0

Choose a tag to compare

@dimasjavier0 dimasjavier0 released this 19 Oct 19:06

Added

  • Botón «Reparar imágenes» en el panel admin (POST /admin/images/repair): vuelve a pedir cada imagen caducada por su id de Pixabay y la guarda en el servidor, hasta 80 por pulsación. Las portadas de colección caducadas no conservan id, así que se sustituyen por el primer resultado para el nombre de la colección.
  • Las palabras de una colección se pueden seleccionar, una a una o todas, para publicarlas, pasarlas a borrador, reparar, reemplazar o eliminar sus imágenes, o quitarlas de la colección (POST /admin/collections/:collectionId/words/actions, hasta 200 palabras por acción).
  • Buscador de videos por fuente en el editor de palabras: YouGlish, Pixabay, Pexels, Dailymotion, Wikimedia y YouTube (GET /admin/videos/search).
  • Búsqueda de grabaciones humanas de la pronunciación, con acento preferido, para escucharlas antes de asociarlas (GET /admin/audio/recorded).
  • El repaso gradúa la ayuda en cuatro niveles, desde media palabra ya escrita hasta escribirla de memoria.
  • «Mi progreso» muestra las palabras por nivel de repaso y los repasos previstos para los próximos siete días.
  • CLAUDE.md con el flujo de trabajo del repositorio: una rama por función, changelog por versiones y fusión en main.

Changed

  • El changelog se reorganizó por versiones con fecha.

Fixed

  • En móvil, la fila de una palabra con varias insignias ocultaba el término.
  • Se restauraron archivos que el editor había sobrescrito con versiones antiguas.