The project has been retired in its alpha stage.
Natrank was a national football team ranking web application using a modified version of the Elo rating system. The goal of the project was to create software which would power a website serving the same purpose as World Football Elo Ratings, but with more data to explore and much improved user experience.
Provides access to match and ranking data through REST-like endpoints. The Admin module makes it possible for the administrator to, among other tasks, import match data using a web interface.
Some of the technologies and tools used: Java 8, Spring Boot, Spring Web MVC, Jackson, Spring Security, MySQL, Hibernate 5, Spring Data JPA, JSP, JSTL, Bootstrap 3, Maven.
A single-page application that accesses the data provided by the backend module via AJAX requests and presents a web interface for the user to browse the data.
Some of the technologies and tools used: TypeScript, React, MobX, Sass, yarn, webpack, Highcharts. In the old iteration (frontend-old): JavaScript (ES5), AngularJS, Less, Bootstrap 3, Bower, npm, Grunt, Yeoman, generator-cg-angular, Highcharts.
The database Docker container is so set up that the database is prepopulated with match data up to the 1950 World Cup.
cd natrank/backend
docker-compose up
cd natrank/backend
docker build --tag natrank-db db
docker run -d -p 3306:3306 --rm natrank-db
DB_HOST=localhost:3306 ./mvnw spring-boot:run
(remember to use Java 8)
cd natrank/backend
- Start MySQL
mysql -h localhost:3306 -u <USER> -p <PASSWORD> < db/schema.sql
- Configure DB username and password in
src/main/resources/application.yml
DB_HOST=localhost:3306 ./mvnw spring-boot:run
(remember to use Java 8)
cd natrank/frontend
yarn && yarn start
- Split backend into
core
api
andadmin
modules - Ranking algorithm refinements (switch to Glicko-2?)
- More of fun historical charts/graphs/listings etc.
- Improved tooling for data importing and maintenance
- Automatic match database and ranking updates
- Regional rankings
- Performance investigation and potential improvements
- ...
See the COPYING.md file.