Separazione: le aree riservate diventano un'app propria (apps/platforms)
Campus, Stress Index e Longevity escono dal sito e diventano apps.insanitylab.it, con utenti, sessioni, login e database propri. Deciso da Adriano il 03/09/2026: una repo sola, due applicazioni autosufficienti, cosi' che ognuna resti estraibile. Misura che ha guidato il taglio: le tre aree condividevano col sito SOLO l'identita' - ~170 righe fra auth.ts, middleware.ts e safe-next.ts. Layout, librerie e dati erano gia' disgiunti. Lato piattaforme: - ruoli piattaforme/cliente/trainer/admin, senza quelli redazionali - canAccessPath con default CHIUSO (nel sito era aperto: li' le rotte non elencate erano di chiunque fosse loggato, qui ogni sezione e' di qualcuno) - tutta l'app protetta, si elencano le eccezioni invece dei prefissi protetti - /api risponde 401/403, non un redirect verso una pagina di login - tre database distinti: utenti, dati clinici senza nomi, mappatura coi nomi Lato sito: - ROLES tornano i tre redazionali; via le regole e il login pubblico - il login del pannello RESPINGE un account emigrato invece di aprirgli una sessione: senza, landingFor lo mandava su /admin, il middleware glielo negava, e si formava un ciclo di redirect che sembra un guasto del sito - l'header non mostra piu' un menu delle piattaforme: un link che esce Verificato: sito 20 file / 146 test, piattaforme 26 file / 197 test, entrambi i build passano, e l'app girata davvero in locale - il ruolo piattaforme entra in Campus e viene rimbalzato da Longevity, il cliente il contrario. Non ancora in produzione: manca il record DNS di apps.insanitylab.it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EndnceRA5WnA6rvA5iV9WL
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
// Struttura del corso Biohacking Campus: capitoli, colori e macro-aree.
|
||||
// Portata dal generatore statico del progetto sorgente (sito/genera_sito.py).
|
||||
// Quando si aggiungono guide, inserirle nel capitolo corrispondente.
|
||||
|
||||
export const CHAPTERS = [
|
||||
[1, 'Sonno e ritmi', 'Il fondamento: dormire e vivere in fase con la luce', [
|
||||
'lezione-01-ottimizzazione-del-sonno',
|
||||
]],
|
||||
[2, 'Movimento, peso, proteine', 'Corpo in movimento e composizione corporea', [
|
||||
'lezione-02-movimento-fitness-parte1',
|
||||
'lezione-02-movimento-fitness-parte2',
|
||||
'lezione-03-protocollo-fitness-longevita',
|
||||
'lezione-04-peso-corporeo',
|
||||
'lezione-05-proteine-creatina',
|
||||
]],
|
||||
[3, 'Freddo e respirazione', 'Stress ormetico e controllo del respiro', [
|
||||
'lezione-06-il-freddo',
|
||||
'lezione-07-la-respirazione',
|
||||
'lezione-08-respirazione-pianificazione',
|
||||
]],
|
||||
[4, 'Mente e HRV', 'Allenamento mentale e variabilità cardiaca', [
|
||||
'lezione-09-allenamento-mentale-parte1',
|
||||
'lezione-09-allenamento-mentale-parte2',
|
||||
'lezione-10-hrv',
|
||||
]],
|
||||
[5, 'Luce e recupero', 'Fotobiomodulazione, recupero attivo e dati', [
|
||||
'lezione-11-luce-fotobiomodulazione-parte1',
|
||||
'lezione-11-luce-fotobiomodulazione-parte2',
|
||||
'lezione-12-recupero-attivo',
|
||||
'lezione-13-monitoraggio-dati',
|
||||
]],
|
||||
[6, 'Consulenza e obiettivi', 'Dalla prima consulenza alla definizione degli obiettivi', [
|
||||
'lezione-14-prima-consulenza-cliente',
|
||||
'lezione-15-arte-obiettivo',
|
||||
]],
|
||||
[7, 'DNA, microbiota, epigenetica', 'Le basi molecolari della personalizzazione', [
|
||||
'lezione-16-introduzione-dna',
|
||||
'lezione-17-microbiota-metagenomica',
|
||||
'lezione-18-epigenetica-ormoni',
|
||||
]],
|
||||
[8, 'Longevità: analisi e alimentazione', 'Interpretare le analisi e mangiare per durare', [
|
||||
'lezione-19-analisi-longevita-parte1',
|
||||
'lezione-19-analisi-longevita-parte2',
|
||||
'lezione-20-alimentazione-longevita',
|
||||
]],
|
||||
[9, 'Performance cognitiva', 'Memoria, focus e nootropi', [
|
||||
'lezione-21-performance-cognitiva-parte1',
|
||||
'lezione-21-performance-cognitiva-parte2',
|
||||
]],
|
||||
[10, 'Funghi, integrazione, cervello', 'Micoterapia, integrazione e cervello sano', [
|
||||
'lezione-22-funghi-terapeutici',
|
||||
'lezione-23-integrazione-annuale-giornaliera',
|
||||
'lezione-24-longevita-cervello-sano',
|
||||
'lezione-25-focus-microbiota-plus',
|
||||
]],
|
||||
[11, 'Accelerator', 'Business e pratica professionale del biohacker (live mensili, Massimo Filippi)', [
|
||||
'accelerator-1-2025-11-11',
|
||||
'accelerator-2-2025-12-20',
|
||||
'accelerator-3-2026-01-28',
|
||||
'accelerator-4-2026-02-21',
|
||||
'accelerator-5-2026-03-28',
|
||||
'accelerator-6-2026-05-09',
|
||||
'accelerator-7-2026-06-06',
|
||||
]],
|
||||
[12, 'Lezioni live', 'Incontri live di approfondimento (Massimo Filippi)', [
|
||||
'lezione-live-1-2026-02-24',
|
||||
'lezione-live-2-2026-03-31',
|
||||
'lezione-live-3-2026-05-26',
|
||||
'lezione-live-4-2026-06-30',
|
||||
]],
|
||||
[13, 'Slide ufficiali', 'Deck del Master Monitoraggio Biometrico e focus tematici', [
|
||||
'slide-hrv',
|
||||
'slide-dna',
|
||||
'slide-microbiota-metagenomica',
|
||||
'slide-epigenetica-ormoni',
|
||||
'slide-nutrizione-precisione',
|
||||
'slide-focus-ormoni',
|
||||
'slide-focus-microbiota-plus',
|
||||
]],
|
||||
[14, 'Interventi speaker', 'Ospiti e focus tematici: genetica, ambiente, etica, consulenza, marketing, ormoni', [
|
||||
'speaker-dna-focus-moduli',
|
||||
'speaker-seipel-campi-elettromagnetici',
|
||||
'speaker-delnero-etica-integrita',
|
||||
'speaker-manfron-consulenza',
|
||||
'speaker-resta-marketing',
|
||||
'speaker-smeazzetto-focus-ormoni',
|
||||
]],
|
||||
[15, 'Consulenze', 'Casi studio reali: posizionamento e progetto professionale del biohacker (Massimo Filippi)', [
|
||||
'consulenza-2025-02-04-cristina-ruggeri',
|
||||
'consulenza-2025-02-10-umberto-riad',
|
||||
'consulenza-2025-02-11-stefano-pignatelli',
|
||||
'consulenza-2025-02-18-annalisa-di-lello',
|
||||
'consulenza-2025-02-24-barbara-fila-manenti',
|
||||
'consulenza-2025-02-27-eva-guerini',
|
||||
'consulenza-2025-03-03-luca-patella',
|
||||
'consulenza-2025-03-04-marco-gilberti',
|
||||
'consulenza-2025-06-10-guglielmo-cornelli',
|
||||
'consulenza-2025-06-16-liga-briviba',
|
||||
'consulenza-2025-07-02-lucia-griglio',
|
||||
'consulenza-2025-07-03-monia-gaudenzi',
|
||||
'consulenza-2025-07-08-simone-holl',
|
||||
'consulenza-2025-07-09-isabella-biagina-gioia',
|
||||
]],
|
||||
[16, 'Masterclass', 'Lezioni formative per professionisti: comunicazione e coaching (Luca Ruggeri), psicosomatica e benessere (Laura Pirotta)', [
|
||||
'masterclass-2025-10-08-luca-ruggeri',
|
||||
'masterclass-2025-11-08-laura-pirotta',
|
||||
'masterclass-2025-11-12-luca-ruggeri',
|
||||
'masterclass-2025-11-29-laura-pirotta',
|
||||
'masterclass-2025-12-10-luca-ruggeri',
|
||||
'masterclass-2026-01-10-laura-pirotta',
|
||||
'masterclass-2026-01-14-luca-ruggeri',
|
||||
'masterclass-2026-02-07-laura-pirotta',
|
||||
'masterclass-2026-02-11-luca-ruggeri',
|
||||
'masterclass-2026-03-07-laura-pirotta',
|
||||
'masterclass-2026-03-25-luca-ruggeri',
|
||||
'masterclass-2026-04-27-laura-pirotta',
|
||||
'masterclass-2026-05-18-laura-pirotta',
|
||||
'masterclass-2026-06-08-laura-pirotta',
|
||||
'masterclass-2026-06-23-laura-pirotta',
|
||||
]],
|
||||
[17, 'Q&A', "L'appuntamento ricorrente del corso: risposte agli argomenti della University e casi studio reali (Tony Manfron, Massimo Filippi, Daniela Nuti)", [
|
||||
'qa-01-tony-04',
|
||||
'qa-02-tony-05',
|
||||
'qa-03-tony-06',
|
||||
'qa-04-tony-07',
|
||||
'qa-05-tony-08',
|
||||
'qa-06-tony-09',
|
||||
'qa-07-tony-10',
|
||||
'qa-08-tony-11',
|
||||
'qa-09-tony-12',
|
||||
'qa-10-tony-13',
|
||||
'qa-11-tony-n14',
|
||||
'qa-12-tony-n15-ketosi-e-sport',
|
||||
'qa-13-massimo-27-02',
|
||||
'qa-14-massimo-6-03',
|
||||
'qa-15-simulazione-caso-studio-1-cliente-skinny-fat',
|
||||
'qa-16-tony-n15-sonno-su-cliente-56-anni-e-lettura',
|
||||
'qa-17-tony-n16-ottimizzazione-sonno-uomo-donna-ipe',
|
||||
'qa-18-tony-n17-idratazione-sali-caffeina-teina',
|
||||
'qa-19-tony-n-18-caso-calciatore-caso-perimenopausa',
|
||||
'qa-20-tony-n19-quando-il-caso-non-e-di-nostra-comp',
|
||||
'qa-21-simulazione-di-esame-caso-studio-calciatore',
|
||||
'qa-22-tony-n20-domande-generiche-su-sonno-e-strate',
|
||||
'qa-23-tony-n21-sirtuine-restrizione-calorica-caso',
|
||||
'qa-24-tony-n21-uso-dei-dispositivi-di-monitoraggio',
|
||||
'qa-25-tony-n22-organizzare-la-routine-del-cliente',
|
||||
'qa-26-business-13-06-24-massimo-filippi',
|
||||
'qa-27-daniela-nuti-sedentarieta-donna-e-ritenzione',
|
||||
'qa-28-tony-n23-lettura-dati-wearable-sonno-come-im',
|
||||
'qa-29-tony-n24-organizzare-un-ritiro-massaggi-d-i',
|
||||
'qa-30-daniela-15-07-2024',
|
||||
'qa-31-tony-n25-dispositivi-per-stress-concetti-sul',
|
||||
'qa-32-tony-n26-biohacking-uomo-sportivo-con-protes',
|
||||
'qa-33-tony-n27-perdita-di-peso-inestetismi-deontol',
|
||||
'qa-34-tony-n28-come-organizzare-la-tua-attivita-a',
|
||||
'qa-35-tony-n29-lavoro-approfondito-su-caso-studio',
|
||||
'qa-36-tony-n30-presentazione-docente-neurobiohacki',
|
||||
'qa-37-info-esame-sessione-settembre-2024',
|
||||
'qa-38-tony-n31-uso-del-monitoraggio-con-i-clienti',
|
||||
'qa-39-tony-n32-caso-studio-donna-69-anni-lavorato',
|
||||
'qa-40-tony-n33-discussione-su-integratori-caso-stu',
|
||||
'qa-41-tony-n34-caso-studio-post-trauma-emotivo-dis',
|
||||
'qa-42-tony-n35-strategie-di-digiuno-intermittente',
|
||||
'qa-43-tony-n36-prodotti-da-network-marketing-esper',
|
||||
'qa-44-tony-n37-approfondimento-sonno-per-ottimizza',
|
||||
'qa-45-tony-n38-considerazioni-sul-bw24-caso-studio',
|
||||
'qa-46-massimo-n39-caso-studio-da-risolvere-e-tecni',
|
||||
'qa-47-tony-n40-togliere-invece-che-aggiungere',
|
||||
'qa-48-tony-n41-come-monitorare-senza-dispositivi-i',
|
||||
'qa-49-tony-n42-caso-studio-performance-lavorativa',
|
||||
'qa-50-tony-n43-ore-di-sonno-inverno-estate-dieta-d',
|
||||
'qa-51-tony-n44-abbassamento-fc-2-casi-studio-su-ot',
|
||||
'qa-52-tony-n45-caso-studio-approfondito-cliente-no',
|
||||
'qa-53-daniela-n-46-integrazione',
|
||||
'qa-54-tony-n47-caso-studio-entropico-tecniche-di-r',
|
||||
'qa-55-tony-n48-caso-studio-uomo-iperattivo-imprend',
|
||||
'qa-56-tony-n49-caso-studio-donna-menopausa-precoce',
|
||||
'qa-57-tony-n50-caso-studio-donna-iperattiva-caso-s',
|
||||
'qa-58-tony-n51-caso-studio-senza-autorevolezza-lav',
|
||||
'qa-59-tony-n52-caso-uomo-75-anni-considerazioni-su',
|
||||
'qa-60-tony-n53-caso-studio-persona-standard-e-caso',
|
||||
'qa-61-daniela-nuti-n54',
|
||||
'qa-62-daniela-nuti-n55-19-03-2025',
|
||||
'qa-63-daniela-nuti-modalita-esame-27-marzo-2025',
|
||||
'qa-64-tony-n56-caso-studio-donna-sovrappeso-dibatt',
|
||||
'qa-65-tony-n57-interpretazione-dati-dispositivi-ca',
|
||||
'qa-66-tony-n58-aspetti-di-impostazione-del-busines',
|
||||
'qa-67-tony-n59-3-casi-studio-uomo-imprenditore-tes',
|
||||
'qa-68-tony-n60-carboidrati-e-proteine-piante-adatt',
|
||||
'qa-69-tony-n61-monitoraggio-whoop-caso-studio-atle',
|
||||
'qa-70-tony-n62-caso-studio-operatore-turnista',
|
||||
'qa-71-tony-n63-camionista-sonno-e-routine-approcci',
|
||||
'qa-72-daniela-nuti-n64-11-06-2025',
|
||||
'qa-73-tony-n65-ipertrofia-soggetto-giovane-strips',
|
||||
'qa-74-tony-n66-caso-studio-donna-lifestyle-mindset',
|
||||
'qa-75-tony-n67-caso-studio-donna-pre-menopausa-ges',
|
||||
'qa-76-tony-n68-concetti-di-fotobiomodulazione-caso',
|
||||
'qa-77-tony-n69-caso-studio-atleta-amatore-focus-co',
|
||||
'qa-78-tony-n-70-caso-studio-ex-olimpica-ora-impren',
|
||||
'qa-79-tony-n71-fare-del-biohacking-il-proprio-lavo',
|
||||
'qa-82-tony-n74-caso-studio-insonnia-da-stress-lavo',
|
||||
'qa-83-tony-n75-ragionamenti-di-marketing-e-posizio',
|
||||
'qa-84-tony-n76-caso-studio-uomo-broker-stressato-c',
|
||||
'qa-85-tony-n77-domande-varie-cortisolo-basso-ashwa',
|
||||
'qa-86-tony-n79-operaio-turnista-con-3-turni-divers',
|
||||
]],
|
||||
];
|
||||
|
||||
// Un tono per capitolo, indicizzato per numero di capitolo - 1.
|
||||
export const CH_COLORS = [
|
||||
'#6b8e6b', '#7a8b5a', '#8a8a4e', '#a08a56', '#a67c52',
|
||||
'#9c6b58', '#8a6f7d', '#6f7d8a', '#5f8a82', '#6d8a6a',
|
||||
'#5a6b8c', '#7c6b9c', '#8a7d5a', '#7a8a86', '#a67c8a',
|
||||
'#5f8a7d', '#b07a4e',
|
||||
];
|
||||
|
||||
// Macro-aree: raggruppano i capitoli nelle pagine indice della sezione.
|
||||
export const AREAS = [
|
||||
['corso-base', 'Corso base',
|
||||
'Le 25 lezioni fondamentali del corso: sonno e ritmi, movimento e peso, freddo e respiro, mente e HRV, luce e recupero, consulenza, basi molecolari, longevità, performance cognitiva, integrazione.',
|
||||
'#6b8e6b', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]],
|
||||
['slide', 'Slide ufficiali',
|
||||
'I deck del Master in Monitoraggio Biometrico e i focus tematici, con i grafici, le tabelle e i referti originali.',
|
||||
'#8a7d5a', [13]],
|
||||
['live-e-ospiti', 'Live e ospiti',
|
||||
'Gli incontri live mensili (Accelerator), le lezioni live di approfondimento clinico e gli interventi degli ospiti del corso.',
|
||||
'#7c6b9c', [11, 12, 14]],
|
||||
['consulenze-masterclass', 'Consulenze e Masterclass',
|
||||
'Casi studio reali di consulenza e le masterclass formative per professionisti: comunicazione, coaching, psicosomatica.',
|
||||
'#a67c8a', [15, 16]],
|
||||
['qa', 'Q&A',
|
||||
"L'appuntamento ricorrente del corso: risposte agli argomenti della University e casi studio reali portati dagli studenti.",
|
||||
'#b07a4e', [17]],
|
||||
];
|
||||
|
||||
// Sottocartella del progetto sorgente in cui cercare il file <slug>.studio.md.
|
||||
export function sourceDirFor(slug) {
|
||||
if (slug.startsWith('accelerator')) return 'accelerator';
|
||||
if (slug.startsWith('lezione-live')) return 'lezioni-live';
|
||||
if (slug.startsWith('slide-')) return 'slide';
|
||||
if (slug.startsWith('speaker-')) return 'speaker';
|
||||
if (slug.startsWith('consulenza-')) return 'consulenze';
|
||||
if (slug.startsWith('masterclass-')) return 'masterclass';
|
||||
if (slug.startsWith('qa-')) return 'qa';
|
||||
return 'studio';
|
||||
}
|
||||
Reference in New Issue
Block a user