I hope you can give me a couple of advice in how to setup the following in a good way. I currently have some thoughts but need your help to guide me.
I'm doing some research for a new project. It will be a project where users/customers can add items to a cart like a "regular" e-commerce website, but once they checkout they will start a subscription for each product they added to their cart.
My thoughts on the setup to develop this:
- Local development using Docker setup
- Github to handle git versioning
- Wordpress backend with WooCommerce plugin and user/customer registration necessary
- Gatsby frontend
- Stripe as payment provider
- E-mail notifications for signup, forgot password, order confirmed etc
My current requirements:
- Need to be able to edit/add content/products like a regular Wordpress website
- Need to be able to publish updates in a easy/effective way
- Need to let user/customers be able to register and be able to login to handle their subscriptions (cancel), edit their profile
- Need to be able to deploy new versions of the website in an easy way (git push for example)
- Need to be able to scale up if needed due to heavy traffic (later on, it wont for sure be a problem in the beginning)
- Users only need to signup on first checkout, and be able to login of course as they enter the website
- Need to be able to have "forgot password" option for users
- Need to be able to add new features such as API calls to delivery company later on (not needed within v1)
- Where would I deploy my Gatsby generated static files? Google Cloud Platform? Netlify? Somewhere elese?
- Where do I put my Wordpress site with all data so it will be possible to have my own functions.php to trigger updates to the Gatsby site?
- I'm thinking of having a integration to the Stripe API, but how would I best do that integration in both terms of payments, subscriptions (cancel, pause)... and so on?
- I need to be able to send e-mail notifications when users/customers signup, place an order, order has been shiped etc (not to many, but some notifications are needed). How can I do this? Either plain emails or html emails (MailChimp integration?)?
- Is there anything I'm missing from the above, or any other suggestions on how to setup this up the best way?
The project will be as a MVP at first stage, but if it all goes well we need to add new features to the website itself, and maybe have a setup with staging and production environments. Locally I will be developing using Docker as stated above.
I'm so grateful for all your input on how to accomplish this the best possible way in order to launch this MVP.