Struttura dell'app
Il template Node delle applicazioni Riseact è progettato per essere flessibile e adattabile a diversi tipi di progetti. Fornisce una struttura di base per l'applicazione, ma è possibile personalizzarla in base alle proprie esigenze.
Struttura di base
La struttura di base di un'applicazione Riseact è la seguente:
├── client
│ ├── index.html
│ ├── LICENSE
│ ├── package.json
│ ├── public
│ │ └── riseact.png
│ ├── src
│ │ ├── assets
│ │ │ └── react.svg
│ │ ├── components
│ │ │ ├── Navbar
│ │ │ │ ├── index.tsx
│ │ │ │ └── NavButton.tsx
│ │ │ └── Page
│ │ │ └── index.tsx
│ │ ├── config
│ │ │ ├── network.ts
│ │ │ └── routing.ts
│ │ ├── hooks
│ │ │ └── useOrganization.ts
│ │ ├── main.tsx
│ │ ├── Router.tsx
│ │ ├── routes
│ │ │ ├── Campaigns
│ │ │ │ ├── Create.tsx
│ │ │ │ ├── Detail.tsx
│ │ │ │ ├── Form.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── List
│ │ │ │ ├── Filters.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── VisibilityBadge.tsx
│ │ │ └── Home
│ │ │ └── index.tsx
│ │ ├── utils
│ │ │ └── enumTranslate.ts
│ │ └── vite-env.d.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── common
│ ├── gql-codegen.ts
│ ├── package.json
│ ├── src
│ │ ├── gql
│ │ │ ├── fragment-masking.ts
│ │ │ ├── gql.ts
│ │ │ ├── graphql.ts
│ │ │ └── index.ts
│ │ ├── queries.ts
│ │ └── types.ts
│ └── tsconfig.json
├── Dockerfile
├── LICENSE
├── package.json
├── package-lock.json
├── prisma
│ ├── migrations
│ │ ├── 20231031142218_init
│ │ │ └── migration.sql
│ │ └── migration_lock.toml
│ └── schema.prisma
├── README.md
├── server
│ ├── package.json
│ ├── src
│ │ ├── config
│ │ │ ├── database.ts
│ │ │ └── riseact.ts
│ │ ├── controllers
│ │ │ └── organization.ts
│ │ ├── env.d.ts
│ │ └── index.ts
│ └── tsconfig.json
├── tsconfig.build.json
└── tsconfig.json
Client
La cartella client
contiene il codice dell'applicazione front-end. Questa cartella è strutturata in modo da separare i componenti, le pagine, i hooks e le utility in cartelle separate.
index.html
: file HTML principale dell'applicazionepackage.json
: file di configurazione del progettopublic
: cartella contenente i file statici dell'applicazionesrc
: cartella contenente il codice sorgente dell'applicazioneassets
: cartella contenente i file multimedialicomponents
: cartella contenente i componenti dell'applicazioneconfig
: cartella contenente i file di configurazionehooks
: cartella contenente i custom hooksmain.tsx
: file principale dell'applicazioneRouter.tsx
: file contenente la definizione delle rotteroutes
: cartella contenente le pagine dell'applicazioneutils
: cartella contenente le utility
Common
La cartella common
contiene il codice condiviso tra il client e il server. Questa cartella è strutturata in modo da separare le query GraphQL, i tipi e i file di configurazione.
gql-codegen.ts
: file di configurazione per la generazione dei tipi GraphQLpackage.json
: file di configurazione del progettosrc
: cartella contenente il codice sorgente condivisogql
: cartella contenente i file GraphQLqueries.ts
: file contenente le query GraphQLtypes.ts
: file contenente i tipi TypeScript
Server
La cartella server
contiene il codice dell'applicazione back-end. Questa cartella è strutturata in modo da separare i controller, i file di configurazione e i file di ambiente.
package.json
: file di configurazione del progettosrc
: cartella contenente il codice sorgente dell'applicazioneconfig
: cartella contenente i file di configurazionecontrollers
: cartella contenente i controller dell'applicazioneenv.d.ts
: file di definizione dei tipi per le variabili d'ambienteindex.ts
: file principale dell'applicazione
Altri file
Dockerfile
: file di configurazione per la creazione dell'immagine DockerLICENSE
: file di licenza del progettopackage.json
: file di configurazione del progettopackage-lock.json
: file di lock delle dipendenzeprisma
: cartella contenente i file di configurazione di PrismaREADME.md
: file di descrizione del progettotsconfig.build.json
: file di configurazione per la compilazione del progettotsconfig.json
: file di configurazione TypeScript del progetto