Moved board logic to board.js, then mounted it at /boards