Встановлення та налаштування KeystoneJS

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Встановлення та налаштування KeystoneJS
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Установка та налаштування KeystoneJS

KeystoneJS 6 вимагає PostgreSQL або MySQL/SQLite (для розробки) та Node.js 18+. Установка займає 20–30 хвилин, але правильна початкова конфігурація економить години в майбутньому.

Ініціалізація проекту

npm create keystone-app@latest my-project
# Вибираємо: PostgreSQL, стартовий шаблон (blog або todo)
cd my-project
npm install

Створюється структура з keystone.ts, schema.ts та прикладом List. Одразу міняємо SQLite на PostgreSQL:

// keystone.ts
db: {
  provider: 'postgresql',
  url: process.env.DATABASE_URL || 'postgresql://user:pass@localhost:5432/keystone_dev',
  enableLogging: true,
  idField: { kind: 'uuid' }, // замість autoincrement
},

Змінні окруження

# .env
DATABASE_URL=postgresql://keystone:secret@localhost:5432/keystone_dev
SESSION_SECRET=supersecretkey32charsmin
FRONTEND_URL=http://localhost:3001
BASE_URL=http://localhost:3000

Перший запуск та міграції

# Запуск у dev-режимі (auto-migrate)
npx keystone dev

# Перша міграція створюється автоматично
# У production — явно:
npx keystone prisma migrate deploy

Після запуску доступні:

  • Admin UI: http://localhost:3000 — створення першого користувача
  • GraphQL API: http://localhost:3000/api/graphql
  • GraphQL Playground: включений тільки в development

Налаштування CORS та server options

server: {
  cors: { origin: ['http://localhost:3001'], credentials: true },
  port: parseInt(process.env.PORT || '3000'),
  maxFileSize: 200 * 1024 * 1024, // 200MB для завантаження файлів
},

TypeScript та tsconfig

KeystoneJS генерує типи автоматично в .keystone/types.ts. Додаємо до tsconfig.json:

{
  "compilerOptions": {
    "target": "ES2019",
    "module": "CommonJS",
    "lib": ["ES2019"],
    "strict": true,
    "paths": {
      ".keystone/types": ["./.keystone/types"]
    }
  }
}

Базова установка та налаштування PostgreSQL-окруження — 2–4 години, включаючи створення перших Lists та тестовий деплой.