Мотивируйся без вариантов. Сам сейчас в шкуре отставшего на пару лет. Наверстывать очень сложно. ИМХО.
Не в этом дело. Часть будет работать на клиенте, но часть работы будет выполняться на сервере. Скорее всего, отдам клиенту все готовое дерево в JSON’е, а браузер пусть его отрисовывает по мере надобности (как потребуется показать), чтобы не перегружать проц и не тормозить реакцию браузера на клиенте. А то заметил я современную тенденцию по максимуму грузить клиента, что приводит к раздражающим задержкам при банальной попытке переключиться между вкладками браузера или опустить страничку в самый низ. :)
Когда я писал первый комментарий, я имел в виду именно представление данных, т.е. хранение в БД и общий принцип работы с табличной формой. С моей точки зрения, это важнее, чем выбранный язык программирования и конкретная реализация алгоритма.
У меня PHP & JS, все будет немножко сложнее (многострочнее)... :)
Как забавно... У меня как раз аналогичная задача и мысли в сторону структуры данных были именно те же самые... :)
Аналогичная ситуация сейчас. К счастью, мой коллега — начальник, который и отбирал меня на работу, не просто заинтересован — он прям таки порывается при любых вопросах давать объяснения, чему я очень рад. В настоящее время документацию только создаем, во многом приходится разбираться в «проекте с историей» при полном ее отсутствии, и при отсутствии части разработчиков, ушедших с проекта.