WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

giuseppeaceto/capibara

 
 

Repository files navigation

Breaking Media CMS

License: MIT

Monorepo di partenza per una media company moderna composta da:

  • apps/web: frontend pubblico in Next.js 16 (App Router, Tailwind, alias @/*)
  • apps/cms: backend editoriale Strapi 5 in TypeScript, pronto per Postgres
  • docker-compose.yml: servizio Postgres 16 per sviluppo locale

L'obiettivo è offrire un CMS piacevole da usare, facile da gestire e completo di backend editoriale e frontend pubblico già pronti per contenuti pubblici e premium.

Stack

  • Next.js 16 + Tailwind CSS per il canale pubblico e l'area utente
  • Strapi 5 (TypeScript) come headless CMS
  • PostgreSQL 16 come database primario (containerizzato)
  • Stripe/Auth0/Supabase da integrare successivamente per pagamenti e autenticazione

Prerequisiti

  • Node.js 20+
  • npm 10+
  • Docker Desktop (o compatibile) per eseguire Postgres

Avvio rapido

  1. Clona il repository

    git clone <repository-url>
    cd capibara
  2. Avvia Postgres

    docker compose up -d postgres
  3. Configura Strapi

    cd apps/cms
    cp env.example .env # compila le chiavi (app, jwt, salts)
    npm run develop

    Le variabili nel file di esempio puntano al Postgres del compose (localhost:5432, database/utente/password strapi).

  4. Configura i permessi pubblici in Strapi

    Dopo aver avviato Strapi e creato l'utente admin, vai su:

    • http://localhost:1337/admin
    • Settings → Users & Permissions → Roles → Public
    • Per ogni content-type (Show, Video Episode, Podcast Episode, Newsletter Issue, Tag, Partner):
      • Abilita find (per liste)
      • Abilita findOne (per dettagli)
    • Salva

    Questo permetterà al frontend di leggere i contenuti pubblici senza autenticazione.

  5. Avvia il frontend

    cd apps/web
    npm run dev

    Il frontend ora si connette automaticamente a Strapi e mostra i contenuti pubblici.

Prossimi passi suggeriti

  • Content model già pronto in Strapi:
    • show: hub per brand/video/podcast/newsletter
    • video-episode, podcast-episode, newsletter-issue
    • tag e partner per tassonomie e sponsorizzazioni (tutti con Draft & Publish abilitato)
  • Configurare l'autenticazione (Auth0/Supabase) e i ruoli Strapi per distinguere visitatori e abbonati
  • Integrare Stripe Billing e webhook che aggiornano lo stato utente nel CMS
  • Centralizzare le chiamate alle API nel frontend creando moduli lib/api per rispettare la preferenza di codice ordinato
  • Agganciare componenti UI al Design System (palette dark, card modulari, stati locked)

Questo setup fornisce la base infrastrutturale per sviluppare velocemente sia l'area pubblica sia quella riservata agli abbonati.

Documentazione

Per ulteriori informazioni su deployment e configurazione:

Licenza

Questo progetto è rilasciato sotto licenza MIT. Vedi il file LICENSE per i dettagli.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.5%
  • CSS 11.1%
  • JavaScript 0.4%