10.9.13

Soccer Center

Descripción básica

Soccer Center es una aplicación para el sistema operativo Android (a partir de la versión 2.2) que permite el seguimiento de los diferentes torneos de fútbol de todo el planeta.

En función del torneo se dispone de mayor o menor nivel de detalle en la información. Pasamos desde los eventos menos conocidos de los que se dispone de goles, tarjetas rojas y una comparativa 'head to head', hasta los más populares en los que se llega a nivel de evaluación estadística de cada jugador en sus diferentes facetas defensiva, ofensiva y asociativa durante el encuentro.

Actualmente cubre en profundidad la Bundesliga alemana, la Serie A italiana, la Serie A brasileña, la League 1 de Francia, Eredivise holandesa, la Premier League inglesa, la Premier League rusa, la Liga española, la segunda división inglesa y la MLS de norteamérica. Además de los principales torneos internacionales: UEFA Champions League, UEFA Europa League, Copa Confederaciones, Mundial, Eurocopa, Copa de Africa, etc... Así como partidos destacados, encuentros oficiales o amistosos entre las selecciones nacionales más importantes, clásicos, finales, etc...

Y por otro lado el resto de torneos del mundo con diferentes niveles de detalle (la primera división argentina, la liga turca, la griega, la noruega, la ucraniana, la japonesa, etc... estarían en el siguiente escalón).

La aplicación parte de cuatro secciones principales:
  • Directo: Vista en vivo del panorama futbolístico de los torneos visibles del usuario, con un listado de los partidos, su estado y sus resultados.
  • Torneos: Consulta de los torneos accesibles desde la aplicación.
  • Seguimiento: Enlace rápido a los jugadores/equipos/torneos seleccionados por el usuario y la opción de búsqueda de jugadores en la base de datos.
  • Noticias: Sección de noticias de diferentes fuentes internacionales.


Características destacadas

  • Información de partidos y clasificaciones actualizada en vivo.
  • Calendarios completos mostrando fechas en hora local.
  • Detección automática del torneo regular local.
  • Alineaciones con detalle de eventos incluidos y evaluación del jugador en vivo.
  • Eventos con información adicional.
  • Head to head en cada partido con clasificación en vivo y pronóstico medio según hasta 16 casas de apuestas.
  • Sumario en vivo con evaluación del equipo, posesión, precisión de pase, penaltis, faltas, corners, ocasiones de gol, tiros al palo, balones recuperados, etc...
  • Detalle pormenorizado por jugador al final del encuentro.
  • Rankings de goleadores, sanciones, faltas recibidas, regateadores, valor estadístico, pases, peso, altura...
  • Acceso directo a los de datos de más de 20.000 futbolistas.
  • Enlaces rápidos a torneos, equipos y jugadores.


Servidor principal

Como base para la aplicación se ha configurado un servidor donde funcionan los principales procesos de sincronización de datos y donde reside la API que interacciona con la aplicación.

  • Configuración de un VPS sin DNS via SSH corriendo Ubuntu 12.04 Server.
  • Servidores instalados y configurados: Apache 2.2, MySQL 5.5 y Squid 3 funcionando como proxy transparente y gestor de la caché para quitar carga al servidor web.
  • Generación de scripts en bash y php para la sincronización de la información principal de las diferentes fuentes con la base de datos, y cronificación.
  • Generación de scripts en bash y php para el cálculo de informes adicionales, y revisión de los datos sincronizados y otros procesos periódicos.
  • Implementación de un sistema propio para el control de múltiples servidores proxy, que permite la monitorización remota, el balanceo en caso de desconexión, la gestión de los intentos de reconexión y la notificación de incidencias.
  • Backoffice (PHP + Ajax) para la administración (cuya única tarea es la activación/desactivación manual de torneos).
  • Sistema de backup de datos y fuentes.


Esquema

En el esquema actual se han configurado varios servidores proxy auxiliares que conectan de manera permanente con el servidor principal mediante SSH, estableciendo túneles seguros en ambos sentidos.

Entre ellos, los servidores proxy con IP dinámica se encargan de recabar la información más pesada, menos frecuente o más prescindible, actualizándola en la base de datos principal.

El servidor central mediante una API escrita en php envía información en formato JSON según solicita la aplicación del móvil o tablet.


Conclusión

El mayor logro técnico de Soccer Center es el establecimiento automatizado de un vínculo directo y la sincronización de los datos de varias importantes webs (en cuanto a estadísticas de fútbol mundial se refiere).

Este proyecto supone mi primera experiencia de programación en Android. Actualmente, tras 5 meses meses publicada, dispone de cerca de 1250 usuarios activos y 5300 descargas.

1 comentari:

Alfonso Rivera ha dit...

Leegue a este sitio a traves de Google Play y posteriormente de Twetter, es una aplicacion increible, a pesar de tener poco tiempo, es robusta y con mucha informacion, pero puede ser la mejor sin duda, algunas mejoras a futuro para mi gusto que me gustaria que implementaras serian ligas femeninas y juveniles, ordenar eventos por hora, un widget que pueda mostrar los marcadores de los eventos en seguimiento o favoritos.

Enhorabuena por este desarrollo, he probado infinidad de app de miles de seguidores en google play, pero esta es distinta, impecable interface, bastante informacion y sencilla de usar, sin duda sera una de las mejores apps en cuanto a soccer scores se refiere en muy poco tiempo. Imprescendible para mi :) gracias por el desarrollo.

Publica un comentari a l'entrada

Escriu