The first step is always the formulation of a good technical task with the good-defined business logic of your service/market place/shop, etc. The best thing is to break the project into parts so you will protect yourself from unnecessary expensive functionality, which won't be used when launching the project.