Какова правильная структура многоязычного монорепозитория на Nx?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Какова правильная структура многоязычного монорепозитория на Nx?

Сообщение Anonymous »

Я создаю сайт бронирования авиабилетов, мне нужно обрабатывать регистрацию пользователей, аутентификацию, бронирование, карту мест и т. д. Я использую 2 API на 2 языках (.NET в API, который обрабатывает поиск рейсов, бронирование и оплата и JS в другом API для обновления карты мест в реальном времени и управления слоями кэширования для повторного поиска рейсов) + внешний компонент с NextJS и Tailwind.
Я пытаюсь использовать монорепо с Nx, но меня смущает то, как это должно быть организовано.
На данный момент я создал 3 приложения (api-js, api-dotnet, интерфейс) с такой структурой:
/monorepo-root
├── /apps # Contains minimal, app-specific setup
│ ├── /frontend # Entry point for the frontend (Next.js)
│ ├── /api-js # Node.js API with REST operations
│ ├── /api-dotnet # .NET API REST
├── /libs # Reusable code
│ ├── /ui # Shared UI components
│ │ ├── /components # Reusable UI elements like buttons, modals
│ │ └── /layouts # Shared page layouts
│ ├── /utils # Shared utilities and helper functions
├── /date # Date manipulation helpers


Каждый API имеет свои собственные модели классов, контроллеры и т. д.
Но, глядя на веб-сайт, он утверждает, что:

Nx имеет концепцию приложений и библиотек. Приложения можно рассматривать как развертываемые артефакты, а библиотеки включают в себя большую часть фактического кода и бизнес-логики. Тем не менее, нет ничего необычного, когда вы впервые начинаете работать с Nx, помещаете в свои приложения много кода и используете библиотеки только для общего кода. Но когда вы переходите на монорепозиторий Nx, вам следует попытаться структурировать свой репозиторий «путем Nx». Это означает, что вы вообще не должны помещать код в свои приложения и почти весь код должен располагаться в ваших библиотеках. Даже код, который не будет использоваться совместно приложениями, следует помещать в библиотеки. На первый взгляд это может показаться немного нелогичным, но если вы примените эту структуру, она поможет вам поддерживать порядок в монорепозитории. Кроме того, таким образом вы будете хорошо подготовлены, если в будущем возникнет необходимость в совместном использовании или повторном использовании библиотеки где-то еще. Если вы используете единообразную структуру папок и стратегию именования для своих библиотек, вы получите монорепозиторий, работать в котором будет приятно.

Итак правильная ли эта структура?:
/monorepo-root
├── /apps
| ├── api-dotnet
│ | ├── Program.cs # Bootstrapping the app
│ | ├── Startup.cs (optional) # Additional app configuration if needed
│ | ├── appsettings.json # App-specific configuration
│ | ├── All Visual Studio Created files and folders (.csproj, bin, obj, etc)
│ |
| ├── api-js
| | ├── index.js
|
├── /libs
│ ├── /ui # Shared UI components
│ │ ├── /components # Reusable UI elements like buttons, modals
│ │ └── /layouts # Shared page layouts
│ ├── /utils # Shared utilities and helper functions
| | ├── /date # Date manipulation helpers
│ ├── /features # App-specific features, organized by domain
│ │ ├── /auth # Authentication logic (e.g., login, register)
│ │ ├── /flight-search # Flight search feature logic
│ │ └── /profile # User profile management
│ └── /data-access # Data-related code like database models, services
│ ├── /frontend-api # Frontend API services
│ ├── /api-js-models # Models and services for the Node.js API
│ └── /api-dotnet # Data-related logic for .NET


Подробнее здесь: https://stackoverflow.com/questions/792 ... repo-on-nx
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Какова правильная структура многоязычного монорепо на NX?
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как развернуть приложение функции Python Azure из монорепозитория?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Лучший подход к созданию многоязычного веб-сайта викторины с несколькими ответами
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Правильная структура данных pyasn1 для образцов значений IEC 61850 Тип SavPDU?
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Правильная структура класса для обработчиков событий, чтобы избежать дублирования кода?
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»