I can display the chart with all players (Player Name, Elo) sorted by decreasing Elo rank.
I can add a new player (Player Name). When I display the chart, the new player is displayed, with Elo rank = 1500. The Player Name must not exist already in the chart.
I can record a match between two players. When I display the chart, the Elo rank of each player has been recalculated. I cannot record a match between a player and herself. I cannot record a match between players that are not in the chart.
En+1 = En + Kn x (W - p(D))
D = En - F
F = Elo rank of opponent
p(D) = 1 / (1 + 10^(-D/400) )
K = 40 if n ≤ 30
K = 20 if En < 2400
K = 10 if EN ≥ 2400
W = 1 if player won
W = 0.5 if equality
W = 0 if player lost