Structuration du repository Epicraft

Edit me

Comment est structuré le repo Epicraft?

├── client/         <-- Interface client JS
├── server/         <-- Serveur de synchronisation NodeJS
├── packages/       <-- Packages supplémentaires qui peuvent être utilisés par le client et le serveur
└── package.json    <-- pour ESLINT

Client

Interface client JS

├── build/                <-- généré par webpack
├── public/               <-- assets pour webpack
├── src/                  <-- code source
├── config-overrides.js   <-- modifications de la config webpack
└── package.json

Attention à ne pas confondre action pour Redux et action Epicraft (générés pour modifier les formulaires).

Sources

Redux

├── actionEnum/     <-- Identifiants pour les actions Redux
├── actions/        <-- Création des actions Redux
├── reducers/
└── stores/         <-- Initialisation et singleton du store

React

├── components/
├── router/         <-- configuration de react-router
├── views/          <-- pages pour le routeur
└── app.js          <-- point d'entrée

Autres

├── database/             <-- gestion du stockage local de l'application (WebSQL)
└── helpers/
  ├── actionFactory/      <-- Création des actions Epicraft
  └── projectComponent/   <-- Définition de chaque composants/propriétés des pages d'un projet

Server

Serveur de synchronisation NodeJS

├── config/               <-- configuration du serveur (équivalent d'application.ini Voo4)
├── src/                  <-- code source
└── package.json

Packages

Packages supplémentaires qui peuvent être utilisés par le client et le serveur

├── id-generator/       <-- génération d'identifiants aléatoires
├── project-manager/    <-- interpretion JS des actions pour modification structure.json
├── translation/        <-- gestionnaire de traduction
└── ...

Comment installer un poste de dev?

À lancer depuis chaque dossier:

  • client/
  • server/
  • packages/[…]/
npm install