knowledgebase/pages/supabase.md

2.8 KiB

Building Production-Grade Web Applications with Supabase multi-tenancy, and more David Lorenz

- ![9781837630684-BUILDING_PRODUCTION_GRADE_WEB_APPLICATIONS_WITH_SUPABASE.pdf](../assets/9781837630684-BUILDING_PRODUCTION_GRADE_WEB_APPLICATIONS_WITH_SUPABASE_1725625620379_0.pdf)
  • Studio di Supabase dal libro

    • Supabase è fortemente basato su postgres
    • Schema del modello FGA (Fine Grained Authorization)
      • image.png
    • Il controllo dei permessi è gestito direttamente dal database, questo consente di semplificare enormemente la gestione dei permessi. Il controllo sui permessi è infatti eseguito direttamente dal database e non dal backend. In questo modo il codice che interagisce con il database, sia lato frontend che lato backend può essere enormemente semplificato, come si vede dall'esempio che segue. collapsed:: true
      • Questo è un modo per salvare un documento di testo in javascript ma solo se l'utente possiede i permessi appropriati.
      • const supabaseClient = createSupabaseClient();
        
        supabaseClient.from('documents').update({ content }).match({ documentId })
        
    • Per avere una panoramica del flusso dei dati da utente a backend a utente nuvoamente può essere utile lo schema che segue.
      • image.png
      • I principali servizi di supabase sono
        • Supabase Auth
        • PostgREST
        • Realtime
        • Storage
        • Image Proxy
      • Si costruirà un sistema di ticket basato su Supabase e Next.js. Le spiegazioni del libro dovrebbero comunque essere indipendenti dalla tecnologia scelta per il frontend.
      • Il sistema sarà multi-tenant, questo significa che l'accesso alle risorse dipenderà dai permessi dell'utente autenticato e dal dominio su cui è installata l'applicazione.
    • Installazione di Supabase CLI

    • Primi passi con il client #Javascript

      • Prima di tutto occorre recuperare l'URL dell'instanza supabase e la chiave anonima.