hasaneyldrm/exercises-dataset es un proyecto de conjunto de datos para desarrolladores de aplicaciones de fitness. Organiza acciones de fitness en JSON estructurado y viene con dos páginas de inicio: index.html se usa para explorar acciones y setup.html se usa para ayudar a generar SQL de importación de bases de datos, ejemplos de llamadas a API y mensajes de desarrollo de back-end.
Según el proyecto README, el conjunto de datos actual cubre 1324 movimientos, incluidos nombres de movimientos, partes del cuerpo, equipos, músculos objetivo, grupos de músculos auxiliares e instrucciones paso a paso. El proyecto es adecuado para prototipos de aplicaciones de fitness, herramientas de planificación de entrenamiento, páginas de búsqueda de acciones, experimentos de sistemas de recomendación o como datos básicos al generar backends de API de fitness para modelos grandes.
Primero es necesario señalar un detalle: la introducción del almacén, README, setup.html y la descripción actual de data/exercises.json no son completamente consistentes. El archivo README indica claramente que las imágenes multimedia y los GIF no se distribuyen con el almacén; todavía hay una descripción antigua de “imágenes/vídeos incluidos” en setup.html; Los campos de ruta relativa como image y gif_url también pueden aparecer en el JSON sin formato actual. Al acceder realmente, deben prevalecer los archivos actuales en el almacén. No establezca de forma predeterminada que las imágenes y los archivos de animación deben estar disponibles.
¿Para qué escena es adecuada?
Este proyecto no es una aplicación de fitness completa, sino una base de datos que se puede conectar directamente a la aplicación. Puedes entenderlo en tres partes:
data/exercises.json: archivo de datos principal, que es lo que finalmente lee la aplicación.index.html: herramienta de recuperación de acciones de la versión del navegador local, no se requiere backend.setup.html: asistente de integración de desarrolladores, que proporciona creación de tablas de bases de datos, generación INSERT SQL, ejemplos de API y palabras de aviso de LLM.
Si solo desea ver rápidamente los datos, activar index.html es suficiente. Si desea incluir datos en su propio producto, debe comenzar con data/exercises.json y decidir si leer JSON directamente, importarlo a una base de datos o generar una API REST.
Instalación y descarga
La forma más sencilla es clonar el repositorio directamente:
|
|
El almacén en sí se compone principalmente de archivos estáticos, no requiere npm install y no tiene servicios de back-end que deban iniciarse. Una vez completada la clonación, el directorio será el siguiente:
|
|
Si solo desea descargar el archivo de datos, también puede guardar el JSON sin formato directamente:
|
|
Windows PowerShell se puede descargar así:
|
|
Después de la descarga, se recomienda confirmar si el archivo se puede analizar normalmente:
|
|
Disponible en Windows:
|
|
Si se informa un error en este paso, significa que la descarga del archivo está incompleta. Primero, vuelva a extraer el almacén o vuelva a descargar el JSON.
Abrir la herramienta del navegador localmente
El index.html del almacén es un navegador front-end puro que se puede abrir directamente:
|
|
Es fantástico para comprobar rápidamente los datos de movimiento: busque nombres de movimientos, filtre por parte del cuerpo, máquina o músculo objetivo y haga clic en una tarjeta para ver las instrucciones. Debido a que el README ha declarado que los recursos multimedia no se distribuyen con el almacén, si la imagen o GIF está vacío al navegar, no significa que la carga de datos haya fallado.
Si el navegador restringe la lectura de archivos locales debido a políticas de seguridad, puede iniciar un servidor estático temporal en el directorio del almacén:
|
|
Entonces visita:
|
|
Los usuarios de Node.js también pueden utilizar:
|
|
Luego presione la línea de comando para abrir la dirección local.
Utilice setup.html para generar ejemplos de bases de datos y API
setup.html es un asistente de integración para desarrolladores. El método de apertura es el mismo que index.html:
|
|
Entonces visita:
|
|
Su proceso consta principalmente de tres pasos.
El primer paso es la configuración de la base de datos. La página puede cambiar los tipos de bases de datos como SQL Server, PostgreSQL, MySQL, SQLite, etc., copiar la declaración CREATE TABLE correspondiente y generar un archivo INSERT SQL que contiene 1324 datos de acción. Este proceso de generación se completa localmente en el navegador y no requiere cargar datos.
El segundo paso es la integración API. Puede ingresar su propia URL base de API y la página generará ejemplos de llamadas en diferentes idiomas, incluidos cURL, JavaScript, Python, C#, Java, PHP y Go. Las interfaces de ejemplo incluyen:
|
|
La interfaz aquí no es el servicio en línea que ya proporciona el almacén, sino la forma de interfaz que se recomienda implementar en su propio backend. En otras palabras, setup.html le ayuda a organizar los métodos de llamada y no iniciará la API por usted.
El tercer paso es Pregúntele a su LLM. Las páginas pueden generar mensajes basados en combinaciones de marcos y bases de datos, como Express.js + PostgreSQL, FastAPI + SQLite, Spring Boot + MySQL, ASP.NET Core + SQL Server, Laravel o Gin. Puede pegar las palabras clave en ChatGPT, Claude o Gemini y dejar que el modelo genere código de fondo basado en la estructura de datos.
Leer JSON directamente
Si su aplicación es pequeña, leer data/exercises.json directamente es la forma más rápida. Ejemplo de Python:
|
|
Ejemplo de Node.js:
|
|
En proyectos front-end, puedes poner JSON en public/data/exercises.json y luego usar fetch para cargar:
|
|
Si utiliza TypeScript, se recomienda definir primero un tipo conservador. Debido a las diferencias entre los campos README y JSON actuales, es mejor escribir campos como image, gif_url, media_id y instruction_steps como opcionales:
|
|
De esta manera, incluso si el almacén ajusta los campos posteriormente, la aplicación no fallará fácilmente debido a la falta de un campo.
Cómo importar base de datos
Para proyectos formales, se recomienda importar datos a la base de datos. La razón es simple: la paginación, el filtrado, la búsqueda, la edición en segundo plano y el control de permisos de API son más fáciles de realizar.
Una estructura de tabla común se puede diseñar así:
|
|
PostgreSQL puede cambiar el campo JSON a jsonb:
|
|
Se recomienda que el proceso de importación se realice en este orden:
- Utilice
setup.htmlpara generar SQL de creación de tablas e INSERT SQL para la base de datos correspondiente. - Ejecute primero en la base de datos local o en la biblioteca de prueba, no importe directamente a la biblioteca de producción.
- Comprueba si el número total de filas es igual a la longitud de la matriz JSON.
- Índice de compilación: al menos agregue índices ordinarios a
category,body_part,equipment,target. - Si desea realizar una búsqueda de palabras clave, considere la indexación de texto completo o servicios de búsqueda externos.
Por ejemplo, PostgreSQL puede agregar primero estos índices:
|
|
La API de backend puede implementar primero cuatro tipos de interfaces:
|
|
Se recomienda unificar los parámetros de paginación como:
|
|
La estructura de respuesta puede permanecer estable:
|
|
Esto facilita el acceso a las listas de inicio, los filtros y el desplazamiento infinito.
Cómo lidiar con los recursos de los medios
El consejo README es importante: no utilice de forma predeterminada un repositorio que contenga imágenes de acción y GIF que estén directamente disponibles comercialmente. Afirma que los datos subyacentes provienen de EjercicioDB v1, los activos multimedia no se redistribuyen con el repositorio y algunos registros conservan referencias multimedia o rutas relativas.
Hay tres métodos de procesamiento en proyectos reales:
- Utilice únicamente datos de texto, no muestre imágenes ni GIF.
- Prepare usted mismo imágenes o videos de acción legalmente autorizados y luego use
ido el nombre de la acción para establecer el mapeo. - Si tiene derecho a utilizar los recursos multimedia de EjercicioDB, acceda a la CDN o dirección de recursos correspondiente de acuerdo con los términos pertinentes.
No trate los campos image y gif_url directamente como “archivos que deben existir en el almacén”. Antes de acceder, deberás comprobar:
|
|
Si el directorio no existe, la aplicación debe vaciar el área de medios u ocultar las entradas de imágenes y animaciones.
Escollos que son fáciles de pisar al acceder
Primero, los campos pueden cambiar. Los campos en el ejemplo README y JSON sin formato no son consistentes en todas partes, así que no haga que todos los campos sean obligatorios en su código. Especialmente los campos relacionados con los medios y los campos multilingües deben utilizar lecturas opcionales.
En segundo lugar, los valores categóricos están en estilo inglés en minúsculas, como chest, back, upper legs, body weight. Si su interfaz muestra chino, debe realizar una capa de mapeo en la aplicación:
|
|
En tercer lugar, las instrucciones de acción no son consejos médicos. Es adecuado para su uso como prototipos de productos, contenido didáctico y datos de recuperación de acciones, pero los productos formales de fitness aún deben incluir consejos de seguridad, contraindicaciones y procesos de revisión profesional.
Cuarto, no ignore la fuente y la autorización. El archivo README explica la fuente de los datos subyacentes, los motivos de la no distribución de los medios y la declaración de derechos. EjercicioDB, rehospedaje de Kaggle y los términos de uso del almacén deben reconfirmarse antes del uso comercial.
Ruta recomendada
Si solo está haciendo una demostración, puede git clone directamente, abrir index.html y luego leer datos de data/exercises.json.
Si deseas realizar una solicitud de fitness completa, puedes proceder en este orden:
- Clona el repositorio y fija una confirmación para evitar que cambios de campo posteriores afecten al proyecto.
- Marque
data/exercises.jsonpara conocer la cobertura real de campos e idiomas. - Utilice
setup.htmlpara generar la base de datos SQL e importarla a la biblioteca de prueba. - Implementa
/exercises,/exercises/:id, API de filtrado y paginación. - La interfaz muestra datos de texto y el área de medios primero se pone en cortocircuito.
- Complemente sus propias imágenes, GIF o vídeos, sujeto a licencia.
La ventaja de este proceso es que es simple, controlable y no se verá afectado por problemas de autorización de los medios. La parte más valiosa de exercises-dataset es que organiza el conocimiento de las acciones de aptitud física en una estructura de datos que se puede leer y recuperar directamente; En cuanto a la visualización de medios, la lógica del plan de capacitación y las recomendaciones personalizadas, deben colocarse en su propia capa de aplicación para seguir mejorando.