game-of-life fullstack