Saludos.
Mi propuesta sería el desarrollar la aplicación en 2 etapas.
1) Poder tener un sitio web en donde como cliente del gimnasio, pueda registrarme y tener acceso a la aplicación.
2) Crear la aplicación para los diferentes dispositivos (iOS, Android)
La primera parte creo sería fundamental ya que permite tener una sincronización del progreso que ha tenido cada cliente y permite el rastreo de con que tanta periodicidad los clientes han actualizado su perfil para hacerse acreedores a algún descuento o premio.
Lo segundo daría movilidad a la aplicación, capaz de sincronizarse con la primera parte.
Así, los principales componentes de la aplicación serían:
- Clientes. Nombre, correo electrónico y demás datos que les interese almacenar
- Formularios. Para medir la fuerza, elasticidad, resistencia, etc. Imagino utilizarán formularios (de opción múltiple) que podrán ir cambiando con el tiempo y ajustando a sus necesidades.
- Perfil del Cliente. No todos los clientes contestarán los mismos formularios, habrá clientes que se enfoquen más en aumentar la fuerza y otros en aumentar la elasticidad. Un cliente pude tener varios perfiles si desean trabajar integralmente.
- Historico de Respuestas. Cada que el cliente responda un nuevo formulario, se guardará la información y se agregará al histórico para futuras comparaciones. Creo que lo más conveniente en este caso es mostrar este histórico como una gráfica.
La aplicación puede contar con un área administrativa en donde se pueda ver el avance de cada cliente.
Dependiendo de los recursos con los que cuenten, especialmente si cuentan con servidor o no se podrá hacer una mejor valoración, por lo pronto sugiero que la primera parte se implemente mediante servicios REST (no importando el lenguaje de programación, puede ser php, java, ruby o python) y la mayor parte implementarla utilizando javascript.
Una vez concluida la aplicación, la segunda parte consistirá en emular a la primera por lo que los costos se reducen, se puede incluso utilizar herramientas como PhoneGap que requieren de programar una sola vez para tener la misma aplicación en los diferentes dispositivos.
Todo lo anterior sería solo una etapa del desarrollo de toda la aplicación, con el tiempo y sobre todo con el uso de la misma surgirán nuevas necesidades.
Para terminar, cualquier duda o aclaración estoy a su servicio, inclusive si es para evaluar alguna de las otras propuestas que han recibido.
Gracias.