Оптимізація CI/CD
Я настійно рекомендую співпрацю і сподіваюся знову попрацювати разом у майбутньому.
Технологічний стек:
Frontend: React
Backend: Nest.js
База даних: MongoDB (з підтримкою репліка-сету)
Використання Nx Monorepo для управління кількома фронтенд та бекенд проектами, включаючи 3 фронтенд сервіси та 1 бекенд API сервіс.
Середовище розгортання:
Redis та MongoDB розгорнуті на власних серверах, без використання хмарних сервісів.
MongoDB має бути налаштована з репліка-сетом для забезпечення коректної обробки транзакцій.
Оптимізація пайплайну та розгортання:
Налаштувати автоматизований тестовий пайплайн за допомогою GitHub Actions.
Обробляти лише побудову та розгортання змінених проектів, уникаючи зайвих інсталяцій залежностей та повторного створення образів.
Оптимізувати процес побудови Docker, використовуючи кешування та інкрементальні збірки для зменшення використання сховища та часу побудови.
Управління Docker образами та контейнерами:
Використовувати docker-compose файли для розгортання сервісів.
Розгортати лише змінені сервіси, а не весь стек, забезпечуючи найкоротший час розгортання та найменше споживання ресурсів.
Переінсталювати залежності лише при їх зміні, уникаючи повторної інсталяції при кожному розгортанні.
Вимоги до бази даних:
Розгорнути MongoDB з репліка-сетами для забезпечення високої доступності та підтримки транзакцій.
Розгорнути Redis для забезпечення конфіденційності даних та підтримки базових потреб кешування.
Оптимізація ресурсів та сховища:
Автоматично очищувати старі Docker образи та контейнери для зменшення використання сховища.
Покращити ефективність розгортання за допомогою GitHub Actions та інших інструментів автоматизації.
Досягти інкрементальних збірок та розгортань, забезпечуючи найшвидший час розгортання та найменше споживання ресурсів.
Дата поставки: 1 день, максимум 2 дні.
Огляд проекту
Технологічний стек:
Frontend: React
Backend: Nest.js
База даних: PostgreSQL (замість MongoDB)
Використання Nx Monorepo для управління кількома фронтенд та бекенд проектами, включаючи 3 фронтенд сервіси та 1 бекенд API сервіс.
Оточення розгортання:
Redis та PostgreSQL розгорнуті на власних серверах, без використання хмарних сервісів.
PostgreSQL має бути налаштована для високої доступності та підтримки транзакцій.
Резюме вимог
Оптимізація пайплайну та розгортання:
Налаштувати автоматизований тестовий пайплайн за допомогою GitHub Actions.
Будувати та розгортати лише ті проекти, які змінилися, уникаючи зайвих встановлень залежностей та повторного створення образів.
Оптимізувати процес побудови Docker, використовуючи кешування та інкрементальні збірки для зменшення використання сховища та часу побудови.
Управління Docker образами та контейнерами:
Використовувати файли docker-compose для розгортання сервісів.
Тільки повторно розгортати ті сервіси, що змінилися, а не всю стеку, забезпечуючи найкоротший час розгортання та мінімальне споживання ресурсів.
Перевстановлювати залежності лише при їх зміні, уникаючи перевстановлення при кожному розгортанні.
Вимоги до бази даних:
Міграція з MongoDB на PostgreSQL, забезпечуючи високу доступність та підтримку транзакцій.
Розгорнути Redis для забезпечення конфіденційності даних та підтримки базових потреб кешування.
Оптимізація ресурсів та сховища:
Автоматично очищати старі Docker образи та контейнери для зменшення використання сховища.
Покращити ефективність розгортання за допомогою GitHub Actions та інших автоматизаційних інструментів.
Цілі:
Досягти інкрементальних збірок та розгортань, забезпечуючи найшвидший час розгортання та мінімальне споживання ресурсів.
Дата доставки: 2 дні, максимум 3 дні.
Бюджет: 200 USD Термін: 5 днів
Привіт Jiangzhe,
Я ретельно ознайомився з вашими детальними вимогами щодо оптимізації CI/CD-процесу для вашого монорепозиторію Nx та міграції бази даних. У вас чітке бачення ефективного та сучасного процесу розгортання.
Щоб забезпечити високоякісний і надійний результат, найкраще підходити до цього як до двох окремих, важливих проектів:
Оптимізація CI/CD-процесу
Міграція бази даних (MongoDB до PostgreSQL)
Завершення обох цих завдань, особливо складної міграції бази даних, у професійному стандарті протягом 2-3 днів є нереальним.
Тому я пропоную спочатку зосередитися на досягненні вашої основної мети — оптимізації CI/CD. У мене є великий досвід роботи з GitHub Actions і Docker у середовищах Nx.
Мій план щодо оптимізації CI/CD полягає в тому, щоб:
Впровадити
nx affected команд у вашому робочому процесі GitHub Actions для тестування та збірки лише тих додатків, які фактично змінилися.
Оптимізувати ваші Dockerfile для використання багатоступеневих збірок і кешування шарів, що значно зменшить час збірки та розмір образів.
Удосконалити вашу
docker-compose налаштування для повторного розгортання лише змінених сервісів.
Додати автоматизований крок очищення для видалення старих Docker-образів і контейнерів, що зекономить місце для зберігання.
Після успішної оптимізації вашого процесу розгортання я з радістю надам окрему, детальну пропозицію щодо міграції бази даних.
Оцінка (тільки для оптимізації CI/CD):
Термін: 5 днів
Ціна: 750 доларів США
Цей поетапний підхід гарантує швидке та відчутне покращення вашого життєвого циклу розробки. Я впевнений, що можу створити ефективний pipeline, який ви шукаєте.
Бюджет: 300 USD Термін: 2 дні
Я маю досвід і можу реалізувати оптимізацію розгортання.
Потрібно розробити ізольований внутрішній мікросервіс для генерації, валідації та відправки одноразових кодів підтвердження (OTP) через різні канали (SMS, Email, Telegram). Сервіс буде використовуватися основним додатком для підтвердження входу, зміни пароля або підтвердження фінансових транзакцій.Технологічний стек Мова: TypeScript / Node.js Фреймворк: Fastify або Express База даних / Кеш: Redis (для зберігання кодів з TTL) Інструменти: Бібліотеки для роботи з провайдерами (Twilio, SendGrid тощо)
Потрібно розробити власний вебсервіс для автоматизації роботи кав’ярень та невеликих закладів громадського харчування. За функціональністю продукт має бути подібним до Poster POS, але з власним дизайном, архітектурою та програмним кодом. Копіювання коду або інтерфейсу Poster не передбачається. Планується створення повноцінного комерційного SaaS-продукту, яким у майбутньому зможуть користуватися різні кав’ярні за передплатою.На першому етапі потрібно розробити MVP Основний функціонал: реєстрація та авторизація власника закладу; створення одного або декількох закладів; керування співробітниками та ролями; каталог товарів, категорій і модифікаторів; додавання розмірів, смаків та додаткових опцій; касовий інтерфейс для оформлення продажів; відкриття та закриття касової зміни; різні способи оплати; повернення та скасування замовлень; облік залишків і списання товарів; базовий складський облік; історія продажів; звіти за виручкою, товарами, змінами та співробітниками; програма лояльності для клієнтів; адаптивна робота на планшеті, ноутбуці та смартфоні; адміністративна панель власника сервісу; тарифні плани та обмеження відповідно до тарифу.У подальшому планується мобільний застосунок; інтеграція з платіжними терміналами; друк чеків; інтеграція з фіскальними сервісами; доставка та онлайн-замовлення; бронювання столиків; розширена аналітика; API для сторонніх інтеграцій; інтеграція з бухгалтерськими та CRM-системами.Важливі вимоги система повинна бути розрахована на роботу багатьох незалежних закладів; дані кожного клієнта мають бути ізольовані; необхідно передбачити масштабування продукту; потрібна безпечна робота з фінансовими та персональними даними; код має бути структурованим і придатним для подальшого розвитку; потрібна технічна документація; права на вихідний код після оплати передаються замовнику. Дизайн на цей момент відсутній, тому потрібно окремо оцінити UI/UX-дизайн або запропонувати готове рішення для MVP.У пропозиції вкажіть досвід створення SaaS, POS, CRM, ERP або облікових систем; приклади подібних робіт; запропонований стек технологій; склад команди; орієнтовну вартість MVP; термін розробки; що саме входить у запропоновану вартість; вартість подальшої підтримки; чи готові працювати поетапно з оплатою за кожен завершений етап. Перевага виконавцям або командам, які вже розробляли касові, складські, ресторанні чи багатокористувацькі SaaS-системи.
Технологічний стек - React: Адаптивна та динамічна розробка фронтенду - Node.js: Надійні бекенд-операції - Web3: Інтеграція мульти-ланцюгових криптовалют - Solidity: Розробка смарт-контрактів Мета проекту Розробити комплексну мульти-ланцюгову платформу для стейкінгу для популярної ігрової екосистеми, що дозволяє безперешкодні взаємодії з криптовалютою, інтеграцію NFT-ринку та покращений досвід користувачів на кількох блокчейн-мережах, сумісних з EVM. Біла книга Ми більше, ніж просто мобільна ігрова студія; ми є візіонерами та інноваторами у світі ігор. Наша команда складається з талантів індустрії мобільних ігор та захоплених гравців, і вона прагне розширити межі можливого у мобільних іграх. Наша експертиза зосереджена на гібридизації жанрів, щоб створити щось справді унікальне, яке ми адаптуємо для переходу від ігор Web2 до ігор Web3. Від гоночних RPG до ігор стратегій дій, ми постійно експериментуємо та поєднуємо жанри, щоб запропонувати нові ігрові враження. Наші ігри не просто форма розваги; це занурювальні подорожі, які залучають, кидають виклик і захоплюють наших гравців. Ми втілюємо нашу місію не лише розважати, а й переносити нашу аудиторію в надзвичайний всесвіт інтерактивного світу в іграх Web3. - Розробка фронтенду - Розробка бекенду - Редизайн цільової сторінки - Інтеграція мульти-ланцюгів - NFT-ринок - Тестування та забезпечення якості - Розгортання та обслуговування
Сайт вже запущений і працює. Основне завдання — розібратися в поточній структурі проєкту, перевірити якість реалізації, виправити знайдені технічні проблеми та допомогти з подальшими змінами.Основний стек Next.js 15 React 19 TypeScript Tailwind CSS Zod Redux Toolkit В проєкті також можуть використовуватися: Prisma JWT-авторизація Stripe Mailgun Google APIs Vercel або Netlify FunctionsОсновні завдання провести ревізію існуючого проєкту; оцінити структуру та якість коду; виправляти помилки та доопрацьовувати поточний функціонал; покращувати серверний рендеринг і швидкість завантаження сторінок; перевіряти коректність відображення сайту на мобільних пристроях; працювати з формами, адміністративною частиною та зовнішніми інтеграціями; вносити технічні SEO-зміни; підтримувати і поступово покращувати існуючий сайт.Що для нас важливо добрий досвід роботи з Next.js, React та TypeScript; уміння розбиратися в чужому коді; розуміння SSR та особливостей Next.js App Router; уважність до продуктивності та якості реалізації; уміння пояснювати знайдені проблеми та пропонувати зрозумілі рішення; самостійність та акуратна робота з діючим сайтом. На першому етапі необхідно ознайомитися з проєктом, провести технічну ревізію та запропонувати список пріоритетних змін. Після цього можлива постійна робота над подальшим розвитком сайту.
Потрібно розробити форму онлайн-запису для косметичного салону та інтегрувати її в існуючий сайт (лендінг). Сайт на стадії розробки (на HTML, CSS, JS). На сайті відсутня власна база даних (і не планується), тому необхідно запропонувати безкоштовне рішення для зберігання та керування даними, яке буде простим в адмініструванні та стабільним у роботі. Необхідний функціонал: підвантаження списку категорій послуг; підвантаження послуг відповідно до обраної категорії; підвантаження списку майстрів, які виконують обрану послугу; відображення доступних дат і вільного часу відповідно до графіка роботи майстра; створення запису з автоматичним блокуванням обраного часу; захист від подвійного бронювання. Дані у формі: ім'я; номер телефону; категорія послуг; послуга; майстер; дата; час; коментар (необов'язково). Адміністрування: Повинна бути можливість: додавати та редагувати категорії послуг; додавати та редагувати послуги; додавати та редагувати майстрів; налаштовувати графік роботи кожного майстра; керувати вихідними, відпустками та іншими періодами недоступності; переглядати, редагувати та скасовувати записи клієнтів. Прошу вказати: яке рішення пропонуєте для зберігання даних; орієнтовну вартість; термін виконання. Дизайн не важливий, головне функціонал. Людина, що робить верстку сайту, сама оформить її в потрібному дизайні.