I think you will likely get many different answers to this question, but my personal believe is that if you are building a software-based business and you don't have experience and you don't already have the right connections, your best shot at success is going to be if you do all the technical work to start with. I would even recommend that if you have zero technical experience right now. You may read about other people that somehow start businesses without doing this, but either A) they are extremely lucky or B) they already have connections/experience/a network that they can rely on.
It is going to be a slower process than you would like because you are going to have to get your hands dirty, but this is going to greatly increase your odds for success in the long run.
Tech stack always comes down to a combination of two thing: requirements for what you are trying to build and background/preferences for your team. There is no one generic set of answers you will get here because so much of your decision comes down to the specifics of these two factors. I strongly suggest you solicit feedback from friends and advisors that can learn more about your situation.
In most cases, I think it is easier to work on the demand side first by setting up a service that gives the future buyers some free service. For example, in your case, you likely are trying to target women who are into fashion and like to buy jewelry, clothing, etc. So, find out something you can build for that audience for free like online reviews, a widget that let's them virtually "try on" the jewelry, etc. Then once you have something that your target customers are interested in, you can start working on the supply side.
There is no right answer for this question. "Best" is a relative term that is dependent on two main factors:
1) What you are trying to do/accomplish
2) Who is going to be doing it
I personally love Node.js and AngularJS, but I wouldn't recommend either for certain teams and/or for certain types of projects.