Design an Online Chess Service — Medium System Design Problem