~/talk

A multisite Vue3 application for a multitenant enviromnent: a survival guide

Talkat vueday 2023 · on Friday, 2023-11-10· [vue, frontend-architecture]
slides:none on file

Single codebase handles multiple tenants using Vue3 Vite and Pinia with a dedicated tenant service that supplies tenant codes via env vars and an Axios interceptor that decorates every API call. Translations live as JSON with a fallback merge, styles load via glob imports, and image bloat from per-tenant logos is fixed by an SVG loader plus a Vite build step that strips unused assets. End result is deployable per-tenant builds, tested with Cypress against the final artifact and used in production.

AI-written summary · about

  1. 0:00Introduction
  2. 1:06Multitenancy in frontend
  3. 2:10Codebase chaos with forks
  4. 3:55Breaking point and solution
  5. 4:40Survival guide principles
  6. 5:45Tenant service hero
  7. 7:10API calls with tenant isolation
  8. 8:42Environment variables tricks
  9. 10:50Axios interceptors deep dive
  10. 12:36Assets across tenants
  11. 14:00Translations with fallback
  12. 16:52Tenant-specific translations
  13. 18:22Styling with CSS
  14. 19:06CSS loading fixes
  15. 20:58Tenant images efficiently
  16. 23:27Vite plugins for output
  17. 24:56SVG loader for assets
  18. 26:05Async asset loading
  19. 26:52Cleaning build artifacts
  20. 27:36Managing favicons
  21. 29:01Conclusion
  22. 29:44Q&A: Testing multitenant
  23. 30:47Q&A: Tenant features
  24. 31:49Q&A: Dynamic modules
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.