Тут уже понаписали... Но я докину...
что собственно нужно в первую очередь (читать и обязательно знать), и что можно допилить потом:
1) Нормальная структура бд. 3 нормальная форма, нормализация, денормализация, отношения один-к-одномму, один-ко-многим, многие-ко-многим. В плане SQL - обязательно работу с джоин, груп бай, агрегационные фунции - сум, коунт... В дальнейшем понадобится почитать про индексы, иначе будет тормозное г-но.
2) Структура кода. Проще всего взять готовый фреймворк типа Express под ноду, но тут еще понадобится читать туториалы и все вот это, зато костылей будет в разы меньше, и оптимизировать код в тысячи раз проще.
3) Тут скорее даже самое важное, хотя как посмотреть... Короче - визуал, представление. Мой совет - посмотрите все похожее что есть на рынке, выберите самое подходящее вашей конторе и делайте так же или близко к этому. Визуал часто дает толчок в сторону правильной структуры - какие куски объединить общим контроллером, какие объекты будут нужны там или тут... Короче сильно помогает.
В общем как то так...