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)

My questions:

  • 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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.