Рекомендую сделать по минимуму без js (только для биндинга событий и ajax).
Реализуйте CRUD.
https://ru.wikipedia.org/wiki/CRUD
Так будет гораздо прозрачней и проще оперировать контроллерами и вьюшками.
P.s. Если хотите JavaScript, реализуйте данную задачу на vue. И поймёте насколько меньше кода придётся писать и он будет намного понятнее.