Vai al contenuto principale

B1 Admin

B1Admin è il pannello di amministrazione della chiesa -- un'applicazione React a pagina singola costruita con Vite e Material-UI. Il personale della chiesa lo utilizza per gestire persone, gruppi, presenze, donazioni, contenuti e molto altro.

Prima di Iniziare

Configurazione

1. Clona il repository

git clone https://github.com/ChurchApps/B1Admin.git

2. Installa le dipendenze

cd B1Admin
npm install

3. Configura le variabili di ambiente

cp dotenv.sample.txt .env

Apri .env e configura gli endpoint API. Puoi puntarli alle API di staging o alla tua istanza API locale.

4. Avvia il server di sviluppo

npm start

Questo avvia il server di sviluppo Vite. L'app sarà disponibile nel tuo browser con il ricaricamento a caldo dei moduli abilitato.

Variabili di Ambiente Principali

VariabileDescrizione
REACT_APP_STAGENome dell'ambiente (es. local, staging, prod)
PORTPorta del server di sviluppo (predefinita: 3101)
REACT_APP_*_APIURL degli endpoint API per ogni modulo
Info

Lo script postinstall copia i file di localizzazione e CSS da @churchapps/apphelper. Se i componenti appaiono senza stili, esegui npm run postinstall manualmente.

Comandi Principali

ComandoDescrizione
npm startAvvia il server di sviluppo Vite
npm run buildBuild di produzione tramite Vite
npm run testEsegui test end-to-end con Playwright
npm run lintEsegui ESLint con correzione automatica

Stack Tecnologico

  • React 19 con TypeScript
  • Vite per gli strumenti di build e il server di sviluppo
  • Material-UI 7 per i componenti UI
  • React Query 5 per la gestione dello stato del server
  • Pacchetti @churchapps/apphelper* per i componenti condivisi

Distribuzione

Le build di produzione vengono distribuite su S3 + CloudFront:

  1. npm run build genera gli asset statici
  2. Gli asset vengono sincronizzati in un bucket S3
  3. L'invalidazione di CloudFront viene attivata per servire la nuova versione
Suggerimento

Per istruzioni dettagliate sulla distribuzione, vedi la guida alla Distribuzione delle Applicazioni Web.