Rewrite README as 'reference template, copy and modify' guide #12

Open
opened 2026-05-04 19:47:19 +02:00 by libretech · 0 comments
Owner

Part of #10

Goal

Rewrite README.md to position libreshop/shop as a reference template (copy-and-modify), not a runtime dependency.

Sections to write

What is this?

  • A working, opinionated example of a notebook e-commerce shop
  • Stack: Nuxt 3 SSR + Strapi v4 CMS + PayPal + transactional mail + LaTeX-PDF invoices
  • Used as a starting template by libretech/mp (production: muellerprints.de)

How to use it

  • Copy, don't depend. Use degit libreshop/shop my-shop or git clone --depth 1
  • Modify freely — there is no upstream "override surface", no semver guarantee for components/composables
  • Pull cherry-picked commits if you want to track upstream improvements (e.g. dependabot bumps)
  • Open issues here if a structural improvement would benefit other consumers

What it solves

  • SSR-rendered Nuxt 3 with Pinia cart store + localStorage persistence
  • Strapi schema for: product variants (cover/binding/pages/ruling/pattern), orders, customers, payment methods, delivery methods
  • Order workflow: cart → checkout (3 steps) → PayPal create order → capture → invoice PDF + confirmation mail → Strapi order record
  • Trust-bar, hero with carousel, product gallery, feature modules — components designed for a notebook shop but adaptable

What it doesn't solve

  • Multi-tenancy (one shop per deploy)
  • Generic product types beyond notebooks (the schema assumes covers/bindings/rulings)
  • White-label runtime override (was considered, rejected — see #10)

Architecture

  • Diagram: shop ← API → cms ← DB
  • Mail/PDF as separate microservices
  • Nginx reverse-proxy in front of shop (production)

Local dev

  • npm install, npm run dev
  • Strapi expected at port 5555 (or set NUXT_CMS_API_URL)
  • Optional: docker compose up brings everything

Deploying

  • The published image git.librete.ch/libreshop/shop:v0.x.0 is deprecated — it shipped MUELLERPRINTS branding before the pivot. New consumers should fork + build their own image. The image will be deleted from the registry 2027-01-01 to reduce confusion.

License

  • (existing)

Acceptance

  • No language suggesting "extend at runtime" or "add as Nuxt layer"
  • Clear "fork it" call-to-action
  • Mention of mp as canonical example deployment
  • Mention of deprecation of the runtime image with date
Part of https://git.librete.ch/libreshop/shop/issues/10 ## Goal Rewrite README.md to position libreshop/shop as a reference template (copy-and-modify), not a runtime dependency. ## Sections to write ### What is this? - A working, opinionated example of a notebook e-commerce shop - Stack: Nuxt 3 SSR + Strapi v4 CMS + PayPal + transactional mail + LaTeX-PDF invoices - Used as a starting template by `libretech/mp` (production: muellerprints.de) ### How to use it - **Copy, don't depend.** Use `degit libreshop/shop my-shop` or `git clone --depth 1` - Modify freely — there is no upstream "override surface", no semver guarantee for components/composables - Pull cherry-picked commits if you want to track upstream improvements (e.g. dependabot bumps) - Open issues here if a structural improvement would benefit other consumers ### What it solves - SSR-rendered Nuxt 3 with Pinia cart store + localStorage persistence - Strapi schema for: product variants (cover/binding/pages/ruling/pattern), orders, customers, payment methods, delivery methods - Order workflow: cart → checkout (3 steps) → PayPal create order → capture → invoice PDF + confirmation mail → Strapi order record - Trust-bar, hero with carousel, product gallery, feature modules — components designed for a notebook shop but adaptable ### What it doesn't solve - Multi-tenancy (one shop per deploy) - Generic product types beyond notebooks (the schema assumes covers/bindings/rulings) - White-label runtime override (was considered, rejected — see https://git.librete.ch/libreshop/shop/issues/10) ### Architecture - Diagram: shop ← API → cms ← DB - Mail/PDF as separate microservices - Nginx reverse-proxy in front of shop (production) ### Local dev - `npm install`, `npm run dev` - Strapi expected at port 5555 (or set `NUXT_CMS_API_URL`) - Optional: `docker compose up` brings everything ### Deploying - The published image `git.librete.ch/libreshop/shop:v0.x.0` is **deprecated** — it shipped MUELLERPRINTS branding before the pivot. New consumers should fork + build their own image. The image will be deleted from the registry 2027-01-01 to reduce confusion. ### License - (existing) ## Acceptance - [ ] No language suggesting "extend at runtime" or "add as Nuxt layer" - [ ] Clear "fork it" call-to-action - [ ] Mention of mp as canonical example deployment - [ ] Mention of deprecation of the runtime image with date
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: libreshop/shop#12
No description provided.