1) Open Source движков магазина хватает, если вам нужен именно результат.
2) Если нужен процесс - вы перечислили только фронт-энд составляющие. Нужно ещё писать бэкэнд (фреймворк, например: Symphony2, Yii, RoR, Django), нужна база (PostgreSQL, MySQL). Придётся также прикрепить какую-то платёжку, тобишь изучать ещё её API.