Several people mentioned Magento already. For your project, I'd stongly add suggest you should ignore that. While Magento has loads of features build it, it also misses some, I'd consider important. You can not create a custom invoice template out of the box for example.
If you are a somewhat experienced developer, Sylius might give you a good experience and code quality. We build a shop on an earlier version, and it runs solid - not a single downtime in years.
And talking about downtime, see that you get a solid webhost. A clients shop had ~1h downtime a day (!) that nobody could explain. Same setup on a new host runs for a couple of weeks now without issues.
If you are a somewhat experienced developer, Sylius might give you a good experience and code quality. We build a shop on an earlier version, and it runs solid - not a single downtime in years.