Git Product home page Git Product logo

datosdeportivos's Introduction

DatosDeportivos

Applicación y librerías para la carga y explotación de datos deportivos.

Servirá como proyecto integrador de varias asignaturas del curso para tener una visión amplia e integrada de competencias pertenecientes a distintas asignaturas del currículo y que será coordinado por la asignatura de Dirección de Proyectos.

Descripción funcional

El resultado final deseado es una aplicación multidispositivo y multiplataforma que permita la extracción/obtención, almacenamiento, tratamiento, consulta, explotación y consumo de datos deportivos.

Librería

Deberá tener una parte común compartida por todos los servicios e interfaces de usuario que sean parte del proyecto (REST API, consola, desktop, mobile y web app) así como tener capacidad para admitir otras en un futuro (Voice User Interface o IoT por ejemplo).

ETL

Deberá ser capaz de extraer datos de las siguientes fuentes:

  1. Descargas de datos en ficheros de texto plano: CSV, JSON, XML... (desde football-data.co.uk por ejemplo).
  2. Peticiones a servicios Web tipo REST API, SOAP,... (por ejemplo football-data)
  3. Scrapper Web de páginas de resultados deportivos (como XScores, iApuestas) o directamente casas de apuestas.

Persistencia

Deberá ser capaz de almacenar los datos según un modelo de datos común en los siguientes soporte:

  1. Ficheros de texto plano (por ejemplo JSON).
  2. BDs Relacional (Oracle, Access, etc...).
  3. BDs NoSQL (Plataformas como Firebase o Mongo DB,...).

Backend

Tendrá una REST API que suministrará los datos extraidos y otros que pueda generar para aumentar el rendimiento, adaptarse a su modelo de datos e integrar las distintas fuentes de datos. Esta REST API se programará en Java con Spring Framework.

Deberá tener definido el servicio en la OpenAPI Specification de Swagger.

Frontend

Tendrá varios Frontend, entre los cuales se verán:

  1. Consola (Java y Firefox developer)
  2. Desktop (Java)
  3. Mobile (Android)
  4. Web App

Respecto a los datos que tratará:

Al ser datos deportivos habrá que tener eventos deportivos. Estos eventos deportivos pueden tener cualquier número de participantes, no sólo partidos de futbol aunque los ejemplos que se hayan puesto y los que se trabajen en profundidad sean sobre este tipo de eventos entre dos contrincantes (debe estar preparado para atletismo, carreras de coches o incluso competiciones individuales para records).

Estos eventos se realizarán en una fecha y hora concretas y tendrán un resultado.

Los participantes en estos eventos deberán ser identificados de manera unívoca aunque las distintas fuentes de datos los identifiquen de formas distintas. Dependiendo del tipo de deporte podrán tener unos datos u otros, pero todos tendrán al menos un nombre.

Se llevará un control de los sucesos que ocurran durante el evento como goles, tarjetas, expulsiones, descalificaciones, retiradas, averias, lesiones, etc...

Se podrán hacer consultas adhoc, filtrar los resultados y ordenar por distintos criterios.

Se podrán tener estadísticas sobre aspectos concretos del juego calculados para eventos agrupados de una forma concreta (una jornada de liga, una competición completa, medias anuales, etc...).

datosdeportivos's People

Contributors

awes0mem4n avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.