Home - lucadileo9/template-catalog GitHub Wiki

Template Catalog

Benvenuto nella documentazione del Template Catalog, un sistema modulare progettato per creare e gestire template indipendenti basati su Next.js. Questo progetto è pensato per semplificare lo sviluppo di siti web simili ma distinti, garantendo coerenza, riusabilità e scalabilità.


Scopo del Progetto

Il Template Catalog è un sistema modulare progettato per creare e gestire template indipendenti basati su Next.js. Ogni template rappresenta un sito web autosufficiente (es. per pizzerie, centri estetici, ecc.) e può essere personalizzato senza influenzare gli altri. Il progetto mira a semplificare la creazione di siti web simili ma distinti, garantendo coerenza e riusabilità del codice.

Perché Usare il Template Catalog?

  • Modularità: Ogni template è isolato e può essere sviluppato e personalizzato indipendentemente.
  • Automazione: Strumenti come Plop semplificano la creazione di nuovi template, componenti e pagine.
  • Scalabilità: La struttura del progetto è progettata per crescere insieme alle tue esigenze.
  • Coerenza: L'uso di variabili CSS, Tailwind CSS e ShadCN garantisce un aspetto uniforme e coeso.

Tecnologie Utilizzate

Il progetto si basa su tecnologie moderne e affidabili:

  • Next.js: Framework React per il rendering lato server e il routing dinamico.
  • Tailwind CSS: Libreria di utility-first per la gestione degli stili.
  • ShadCN: Componenti UI riutilizzabili basati su Radix UI e Tailwind CSS.
  • Plop: Strumento per la generazione automatica di template, pagine e componenti.
  • Styled Components: Per la gestione dei colori dinamici nei template.

Panoramica Generale del Sistema Modulare

Il sistema è organizzato in due parti principali:

  • Cartelle Globali: Contengono risorse condivise tra tutti i template, come componenti ShadCN, utility globali e configurazioni.
  • Cartelle dei Template: Contengono risorse specifiche per ciascun template, come pagine, stili e immagini. Ogni template è isolato e può essere sviluppato e personalizzato indipendentemente.

Indice della Documentazione

Di seguito trovi un elenco delle principali sezioni della documentazione. Clicca su un titolo per accedere alla pagina corrispondente:

  1. Architettura del Progetto

    • Panoramica della struttura del progetto.
    • Descrizione delle cartelle principali e dei file più importanti.
  2. Routing Dinamico

    • Come funziona il routing dinamico (app/[...slug]/page.tsx).
    • Caricamento dei template in base al nome nel percorso URL.
  3. Configurazioni

    • File config/templates.ts (elenco dei template validi).
    • File config/external-sites.ts (siti esterni prodotti).
    • Configurazione dei colori e menu items nei template (config.js).
  4. Automazione con Plop

    • Generazione automatica di template, componenti e pagine.
    • Funzionamento dei generatori e scheletri dei file.
  5. Gestione dei Colori e Stili

    • Variabili CSS dinamiche e integrazione con Tailwind CSS.
    • Ruolo del file della classe per ogni template.
  6. Gestione Font

    • Come applicare un font ad un singolo template
    • Come applicare più font ad un singolo template
  7. Risorse Statiche

    • Organizzazione delle risorse statiche nella cartella public/.
    • Accesso alle risorse tramite percorsi assoluti.
  8. Componenti

    • Architettura dei componenti (Atomi, Molecole, Organismi).
    • Componenti globali vs. locali.
  9. Che cos'è ShadCN?

    • Breve spiegazione di cosa sia ShadCN.
    • Breve spiegazione del perché abbiamo deciso di usarlo.
  10. Path Alias

  • Descrizione degli alias definiti nel progetto.
  • Linee guida per l'uso degli alias.
  1. Conclusione
  • Riassunto delle scelte architetturali.
  • Suggerimenti per futuri sviluppi.