Stack

Frontend

Interfața PoetryHub este o SPA/SSR hibridă Nuxt 3, optimizată pentru citire literară și fluxuri editoriale calme.

Framework & runtime

  • Nuxt 3 (^3.14) — routing, SSR, auto-imports, Nitro integration
  • Vue 3 (^3.5) — Composition API, <script setup>
  • Vue Router 4 — navigare client
  • TypeScript — tipare în pagini, composables, server

Styling & design system

  • Tailwind CSS — utilitare + tokeni semantici în tailwind.config.ts
  • main.css — clase DS (.ds-card, .ds-btn-primary, .poem-body)
  • Color schemes — teme cititor (assets/css/color-schemes.css, utils/colorScheme.ts)
  • Fonturi — Playfair (titluri/poezii), Inter (UI), JetBrains Mono (cod)
  • Iconuri@iconify/vue + Heroicons

State & data fetching

  • Pinia — state global (via @pinia/nuxt)
  • useFetch / $fetch — apeluri API către /api/*
  • ComposablesuseAuth, useReaderPreferences, useCarouselGenerator, etc.

Internaționalizare

  • @nuxtjs/i18n — locale ro (implicit) și en
  • Fișiere: i18n/locales/ro.json, en.json
  • Strategie no_prefix — fără prefix URL pe limbă

Layout-uri

  • default — site public (nav + footer)
  • account — zonă utilizator cu sidebar
  • admin — panou staff
  • auth — login/signup
  • docs — documentație (sidebar cu tab-uri)

Module Nuxt

@pinia/nuxt
@nuxtjs/tailwindcss
@nuxtjs/i18n
@nuxtjs/storybook  # enabled: false în dev Nuxt; rulează standalone