MonoRepo Struktur
Das MonoRepo liegt in folgender Ordner- und File-Struktur vor (# Kommentare dienen zum besseren Verständnis):
├── backend
│ └── freda-middleware #Ort des GraphQL-Gateways / NodeJS GraphQL Apollo-Server
│ ├── src
│ │ ├── constants # Konstanten
│ │ │ └── role.enum.ts
│ │ ├── externalSchemas # Intitialisierung / Introspection von externen GraphQL-Servern / Schemas
│ │ │ ├── fredaSchema.ts
│ │ │ └── prodatSchema.ts
│ │ ├── middleware # Resolver-Middleware / Composition Funktionen wie Auth oder Logging
│ │ │ ├── isAuth.middleware.ts
│ │ │ ├── logging.middleware.ts
│ │ ├── migration # Migrations-Daten, z.B. für die initiale Nutzer-Einrichtung des Systems
│ │ │ └── 1571130343016-SeedInit.ts
│ │ ├── modules # Ort für GraphQL-Modules, welche in der server.ts zusammengeführt werden
│ │ │ ├── media
│ │ │ │ ├── resolver
│ │ │ │ │ └── media.resolver.ts
│ │ │ │ ├── type
│ │ │ │ │ └── media.type.ts
│ │ │ │ └── index.module.ts
│ │ ├── seeds # initiale Seed-Daten
│ │ │ ├── role.seed.ts
│ │ │ └── user.seed.ts
│ │ ├── static # Ort für statische Dateien, z.B. Word-Vorlage
│ │ │ ├── Einrichteblatt_Drehen_PRODAT_Template.docx
│ │ ├── utils # Services, welche gloabl genutzt werden, z.B. Logging oder Authorisation
│ │ │ ├── isAuth.service.ts
│ │ │ ├── logging.service.ts
│ │ ├── app.ts # init Express-Server App
│ │ ├── context.ts # Context Interface für GraphQL-Modules
│ │ ├── env.ts # Env-Vars in TypeScript überführen
│ │ ├── index.ts # App entry main-Funktion
│ │ └── server.ts # declaration Apollo-Server
│ ├── ormconfig.ts # TypeORM Konfiguration
│ ├── package.json # NPM-Packages + Versionen
│ ├── tsconfig.json # TypeScript Lint-Config
│ └── yarn.lock # NPM-Packes Version control lock
├── doc # docusraus
│ ├── docs
│ │ └── doc1.md
│ ├── website
│ │ ├── core
│ │ │ └── Footer.js
│ │ ├── i18n
│ │ │ └── en.json
│ │ ├── pages
│ │ │ └── en
│ │ │ ├── help.js
│ │ │ ├── index.js
│ │ │ └── users.js
│ │ ├── static
│ │ │ ├── css
│ │ │ └── img
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── sidebars.json
│ │ ├── siteConfig.js
│ │ └── yarn.lock
│ ├── Dockerfile
│ └── docker-compose.yml
├── external # externe Postgraphile GraphQL-Server
│ ├── adminui-graphile
│ │ ├── src
│ │ │ ├── app.ts
│ │ │ ├── declarations.d.ts
│ │ │ ├── env.ts
│ │ │ ├── index.ts
│ │ │ └── postgraphile.ts
│ │ ├── package.json
│ │ ├── tsconfig.json
│ │ └── yarn.lock
│ └── prodat-graphile
│ ├── src
│ │ ├── app.ts
│ │ ├── declarations.d.ts
│ │ ├── env.ts
│ │ ├── index.ts
│ │ ├── postgraphile.ts
│ │ └── tableIntrospection.ts
│ ├── package.json
│ ├── tsconfig.json
│ └── yarn.lock
├── frontend # Frontend-Apps
│ ├── common # FredaCommon-Library
│ │ ├── src
│ │ │ ├── components
│ │ │ ├── hooks
│ │ │ ├── interfaces
│ │ │ ├── services
│ │ │ ├── stores
│ │ │ ├── utils
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ ├── freda-adminui # ReactJS App Admin-UI
│ │ ├── public # static files wie Logo oder index.html
│ │ ├── src # Source-Code
│ │ │ ├── components # React-Componenten frei strukturierbar (aktuell nur als Idee)
│ │ │ │ ├── elements # Elemente, welche nur für diese App gültig sind (z.B. Trans)
│ │ │ ├── forms # Formular-Komponenten (Artikel hinzufügen o.ä.)
│ │ │ │ └── pages # Seiten-Komponenten (wie Wareneingangliste)
│ │ │ ├── graphql # GraphQL-Queries
│ │ │ │ ├── fragments
│ │ │ │ ├── mutations
│ │ │ │ ├── queries
│ │ │ │ ├── subscriptions
│ │ │ │ └── types.tsx # generierte Types und hooks durch GraphQL-Codegen
│ │ │ ├── appConfig.ts # Konfiguration der gesamten App + Module
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ └── serviceWorker.ts
│ │ ├── codegen.yml # GraphQL-Codegen config
│ │ ├── package-lock.json
│ │ ├── package.json
│ │ ├── tsconfig.json
│ │ └── yarn.lock
│ └── freda-app # ReactJS FrEDA-App
│ ├── public # static files wie Logo oder index.html
│ ├── src # Source-Code
│ │ │ ├── components # React-Componenten frei strukturierbar (aktuell nur als Idee)
│ │ │ │ ├── elements # Elemente, welche nur für diese App gültig sind (z.B. Trans)
│ │ │ ├── forms # Formular-Komponenten (Artikel hinzufügen o.ä.)
│ │ │ │ └── pages # Seiten-Komponenten (wie Wareneingangliste)
│ │ ├── graphql # GraphQL-Queries
│ │ │ ├── fragments
│ │ │ ├── mutations
│ │ │ ├── queries
│ │ │ ├── subscriptions
│ │ │ └── types.tsx # generierte Types und hooks durch GraphQL-Codegen
│ │ ├── appConfig.ts # Konfiguration der gesamten App + Module
│ │ ├── index.css
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ └── serviceWorker.ts
│ ├── codegen.yml # GraphQL-Codegen config
│ ├── package.json
│ ├── schema.graphql
│ ├── tsconfig.json
│ └── yarn.lock
├── lerna.json
├── package.json
└── yarn.lock
