This repository holds all components needed to run the Pinelab Shops multi-tenant e-commerce platform.
vendure
the Vendure backend.clients/*
holds the client specific storefrontspackages/e2e
e2e test to test basic functionality on minishop.studio demo shoppackages/pinelab-storefront
Frontend library used in all webshop frontends based on Buefy (Bulma)
Steps to deploy a new version of the shops platform:
- Make sure branch
develop
is up to date withmaster
- Create a new feature branch from
develop
, something likefeat/new-vendure-version
- Create a PR, this will trigger Github Workflow tests
- If the tests succeed, merge the PR
- Wait until the deployment of
develop
is finished. After deployment the new version is live on the test environment. - Run
yarn nightwatch:e2e
to run the e2e test locally on your machine. - If the e2e test succeeds, you can create a PR to
master
- Wait for the tests to finish on the master branch PR as well
- Merge the PR, wait for master deployment to finish, and smoke test the newly deployed instance.
- One fan a day: Try to do something unexpected every day for 1 customer of Pinelab to create a fanbase.
- Keep it simple. You aren't going to need it. Don't implement it now because you assume you will need it later.
- Write code for humans, not machines. Minor performance trade-offs are fine when they make your code more readable.
- What is the impact of this new feature? Is it easily reverted? Will future code have to deal with it? Every addition takes a toll: be careful what you add, even when a client wants it.
- 80/20 rule: If 80% of the clients can use it, implement it in the platform. Otherwise, separate it, charge more for it or just don't do it.
- Make a developer happy: document in code (README, JsDoc), no one maintains external docs! You can even add images in Markdown...
- Try to keep things stateless: avoid new database entities. Avoid cronjobs where possible