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