Настройка Monorepo на Nx для React, Next.js, NestJS, Node.js

Цена договорная
15 января 2025, 12:25 • 6 откликов • 28 просмотров
Описание проекта:


Ищем опытного разработчика/архитектора для настройки monorepo проекта с использованием Nx, включающего в себя несколько приложений на различных технологиях. Цель – создание масштабируемой и поддерживаемой архитектуры для будущего проекта. Мы открыты к обсуждению и внедрению лучших практик, поэтому предложения по улучшению архитектуры приветствуются с радостью!


Технологии:

Monorepo: Nx

Backend:

• NestJS (основной бэкенд)

• Node.js (для ботов + express)

Frontend:

• React (для веб-приложений, связанных с ботами)

• Next.js (для сайта с лендингами)

Database: PostgreSQL с ORM Prisma

Containerization: Docker


Требуется:

1. Настройка Nx Monorepo:

• Создание базовой структуры monorepo с использованием Nx.

• Настройка рабочих пространств (workspaces) для каждого типа приложений (NestJS, Node.js, React, Next.js).

• Настройка зависимостей между приложениями.

• Создание общих библиотек (libraries) для переиспользования кода между приложениями (например, общие типы, утилиты).


2. Настройка проектов:

• Настройка базовых проектов на NestJS, Node.js, React, Next.js в соответствующих рабочих пространствах.

• Настройка Prisma ORM для доступа к базе данных PostgreSQL.

3. Развертывание в тестовой среде:

• Настройка Docker для каждого приложения.

• Настройка docker-compose для управления несколькими контейнерами.

• Развертывание всех приложений в тестовой среде на сервере (предполагается, что она будет идентична продакшен).

• Настройка CI/CD (базовое, например, через GitHub Actions, для развертывания при push в определенную ветку).

4. Ожидаемый результат:

• Полностью настроенный monorepo с готовыми к работе проектами.

• Работающая тестовая среда с развернутыми приложениями.

• Документация по использованию и развертыванию проекта.


Структура приложений в monorepo:


• apps/

• landing-website (NextJS, для лендингов)

• bot-1 (Node.js, Express)

• bot-2 (Node.js, Express)

• app-1 (React, веб-приложение для ботов)

• app-2 (React, веб-приложение для ботов)

• backend-api (NestJS, основной бэкенд)

• api-hub (NestJS, API gateway)

• libs/ (для общих библиотек)


Дополнительные требования:

• Опыт работы с Nx, React, Next.js, NestJS, Node.js, Docker.

• Опыт работы с PostgreSQL и ORM Prisma.

• Умение настраивать CI/CD.

• Готовность к обсуждению решений и внесению изменений.

Приветствуются предложения по улучшению архитектуры проекта.

Сроки и бюджет:
• Просьба указать в заявке предполагаемые сроки выполнения проекта.

• Просьба указать вашу ставку или ожидаемый бюджет для данного проекта.


Как подать заявку:

• Приложите примеры работ по настройке monorepo (если есть).

• Опишите свой опыт работы с перечисленными технологиями.

• Предложите свой план работы и сроки.

Если у вас есть идеи по оптимизации архитектуры, не стесняйтесь их озвучить.