Skip to main content

Frontend overview

Introduction

Publica.la offers a multi-domain frontend built with the TALL stack (Tailwind CSS, Alpine.js, Laravel, Livewire) plus legacy Vue 2/Bootstrap code that is being migrated. This document gives developers a high-level map of the entire frontend so they can quickly locate the right technology, guideline or component before diving deeper.

This overview links directly to rule files such as frontend-guidelines.mdc and to the detailed guides within this folder.

Scope

  1. Describe which technologies live in each product area (Storefront, Reader, Dashboard).
  2. List global conventions developers must follow.
  3. Point to deeper documentation for Tailwind, Blade components, Livewire grid, icons and Alpine.js.

Product areas & technology stack

AreaPrimary Framework(s)StylingJavaScript layerNotes
StorefrontLivewire v2Tailwind 3 (prefix tw-)Alpine v2Migrating from Bootstrap 4; mobile-first
ReaderVue 2Tailwind 3Uses SVG icon pack in volpe/_shared_/images/icons
DashboardVue 2 + Livewire (select pages)Tailwind 3Alpine v2Desktop-optimised
EmailsBlade MailableTailwind Mail (custom)Build with yarn tailwind-mail

Tip: when you spot legacy <div class="row"> or <i class="ion-…">, check the migration checklist before opening a MR.

Global conventions (quick reference)

  • Prefix Tailwind classes with tw- until Bootstrap is fully removed.
  • Use semantic HTML and follow the accessibility rules.
  • Prefer Blade components (<x-component.*>) over raw HTML snippets.
  • Use x-on: instead of @click inside #App to avoid Vue conflicts.
  • Do not write complex logic in Blade; move it to component classes or Livewire properties.

Last updated: 2025-07-14

X

Graph View