-
Notifications
You must be signed in to change notification settings - Fork 16
Organize repository for Multi-platform builds #12
Description
Description of the problem.
We need to organize the codebase into a monorepo that supports front-end and back-end projects.
Description of the solution.
Introduce NX as a workspace manager. Structure codebase to front-end and backend with current structure residing in the backend.
Possible structure:
/
├── back-end/
│ ├── Cargo.toml
│ ├── entity/
│ ├── errors/
│ ├── event/
│ ├── migration/
│ ├── node/
│ ├── storage/
│ └── ... (... current Rust project)
│
├── user-interface/
│ ├── desktop/
│ │ ├── src/
│ │ ├── package.json
│ │ └── ... (Electron app source code)
│ │
│ └── mobile/
│ ├── app.json
│ ├── package.json
│ └── ... (Expo React Native app source code)
│
├── libs/
│ ├── shared-types/
│ │ └── (e.g., TypeScript interfaces for API contracts to be shared)
│ └── ui-components/
│ └── (e.g., React components shared between desktop and mobile)
│
├── tools/
│ └── (Nx workspace generators, scripts, etc.)
│
├── nx.json
├── package.json
├── .gitignore
└── tsconfig.base.json
Additional context
- NX workspace management: https://nx.dev/