<strong>Описание проекта:</strong><br><br>
Ищем опытного разработчика/архитектора для настройки monorepo проекта с использованием Nx, включающего в себя несколько приложений на различных технологиях. Цель – создание масштабируемой и поддерживаемой архитектуры для будущего проекта. Мы открыты к обсуждению и внедрению лучших практик, поэтому <strong>предложения по улучшению архитектуры приветствуются с радостью!</strong><br><br>
<strong>Технологии:</strong><br>
• <strong>Monorepo:</strong> Nx<br>
• <strong>Backend:</strong><br>
• NestJS (основной бэкенд)<br>
• Node.js (для ботов + express)<br>
• <strong>Frontend:</strong><br>
• React (для веб-приложений, связанных с ботами)<br>
• Next.js (для сайта с лендингами)<br>
• <strong>Database:</strong> PostgreSQL с ORM Prisma<br>
• <strong>Containerization:</strong> Docker<br><br>
<strong>Требуется:</strong><br>
1. <strong>Настройка Nx Monorepo:</strong><br>
• Создание базовой структуры monorepo с использованием Nx.<br>
• Настройка рабочих пространств (workspaces) для каждого типа приложений (NestJS, Node.js, React, Next.js).<br>
• Настройка зависимостей между приложениями.<br>
• Создание общих библиотек (libraries) для переиспользования кода между приложениями (например, общие типы, утилиты).<br><br>
2. <strong>Настройка проектов:</strong><br>
• Настройка базовых проектов на NestJS, Node.js, React, Next.js в соответствующих рабочих пространствах.<br>
• Настройка Prisma ORM для доступа к базе данных PostgreSQL.<br>
3. <strong>Развертывание в тестовой среде:</strong><br>
• Настройка Docker для каждого приложения.<br>
• Настройка docker-compose для управления несколькими контейнерами.<br>
• Развертывание всех приложений в тестовой среде на сервере (предполагается, что она будет идентична продакшен).<br>
• Настройка CI/CD (базовое, например, через GitHub Actions, для развертывания при push в определенную ветку).<br>
4. <strong>Ожидаемый результат:</strong><br>
• Полностью настроенный monorepo с готовыми к работе проектами.<br>
• Работающая тестовая среда с развернутыми приложениями.<br>
• Документация по использованию и развертыванию проекта.<br><br>
<strong>Структура приложений в monorepo:</strong><br><br>
• apps/<br>
• landing-website (NextJS, для лендингов)<br>
• bot-1 (Node.js, Express)<br>
• bot-2 (Node.js, Express)<br>
• app-1 (React, веб-приложение для ботов)<br>
• app-2 (React, веб-приложение для ботов)<br>
• backend-api (NestJS, основной бэкенд)<br>
• api-hub (NestJS, API gateway)<br>
• libs/ (для общих библиотек)<br><br>
<strong>Дополнительные требования:</strong><br>
• Опыт работы с Nx, React, Next.js, NestJS, Node.js, Docker.<br>
• Опыт работы с PostgreSQL и ORM Prisma.<br>
• Умение настраивать CI/CD.<br>
• Готовность к обсуждению решений и внесению изменений.<br>
• <strong>Приветствуются предложения по улучшению архитектуры проекта.</strong><br><br><strong>Сроки и бюджет:</strong><br>• Просьба указать в заявке предполагаемые сроки выполнения проекта.<br>
• Просьба указать вашу ставку или ожидаемый бюджет для данного проекта.<br><br>
<strong>Как подать заявку:</strong><br>
• Приложите примеры работ по настройке monorepo (если есть).<br>
• Опишите свой опыт работы с перечисленными технологиями.<br>
• Предложите свой план работы и сроки.<br>
• <strong>Если у вас есть идеи по оптимизации архитектуры, не стесняйтесь их озвучить.</strong><br><br>