С чего начать писать движок магазина?
Не рекомендую писать. Это займет очень много времени и сил, вы даже не представляете сколько.
Но если все же решитесь, изучите современные движки и начните с ядра которое будет отвечать за товары и категории - все остальное будет крутиться вокруг них.
C изучения рынка готовых товаров:
merchium.ru
storeland.ru
insales.ru
ecwid.ru
Bitrix
xcart
cs-cart
netcat
И это ещё не всё