Skip to content

Latest commit

 

History

History
173 lines (102 loc) · 6.23 KB

Workflow.md

File metadata and controls

173 lines (102 loc) · 6.23 KB

Как работать над проектом

Запуск проекта

Убедитесь, что на рабочем компьютере установлен актуальный LTS релиз Node.js. Актуальная версия Node.js указана в файле package.json в поле node.

Установите зависимости

Выполните команду

npm install

Разверните базу данных MongoDB

В проекте используется база данных MongoDB версии 4.2.

Если вы используете Docker, воспользуйтесь файлом docker-compose.dev.yml, расположенным в корне проекта, для быстрого разворачивания базы данных.

Наполните базу данных

Запустите JSON-сервер с моковыми данными:

npm run mock:server

Сгенерируйте нужное количество предложений об аренде:

npm run cli -- --generate 100 ./mocks/mock-data.tsv http://localhost:3123/api                                                                                                                                                                                                                                         

Импортируйте данные в базу данных, используя настройки подключения из файла docker-compose:

npm run cli -- --import ./mocks/mock-data.tsv admin test 127.0.0.1 six-cities secret                                                                                                                                                                                                                                         

Настройте переменные окружения

В корне проекта находится файл .env.example. Скопируйте его содержимое в файл .env и настройте значения переменных.

Переменные окружения

HOST=localhost - Имя хоста, на котором стартует сервер

PORT=4000 - Порт для входящих соединений

SALT=secret - Соль для хэширования паролей

DB_HOST=127.0.0.1 - IP-адрес сервера базы данных (MongoDB)

DB_USER=admin - Имя пользователя для подключения к базе данных

DB_PASSWORD=test - Пароль для подключения к базе данных

DB_PORT=27017 - Порт для подключения к базе данных (MongoDB)

DB_NAME=six-cities - Имя базы данных (MongoDB)

DB_MAX_RETRIES=3 - Максильмальное число попыток переподключения к БД

DB_RETRY_TIMEOUT=1000 - Число миллисекунд между попытками подключения к БД

UPLOAD_DIRECTORY=upload - Директория для хранения загружаемых пользователями файлов

STATIC_DIRECTORY=public - Директория для хранения статических файлов

JWT_SECRET=super-secret! - Секрет для подписи JWT-токена

Запустите проект

Выполните команду

npm start

Сценарии

В package.json предопределено несколько сценариев.

Скомпилировать проект

npm run compile

Создаст директорию dist и скомпилирует проект.

Удалить скомпилированный проект

npm run clean

Удаляет директорию dist. Используется перед компиляцией.

Собрать проект

npm run build

Выполняет сборку проекта: удаляет ранее скомпилированный проект и компилирует заново.

Проверить линтером

npm run lint

Запуск проверки проекта статическим анализатором кода ESLint.

Линтер проверяет файлы только внутри директории src.

Обратите внимание, при запуске данной команды, ошибки выводятся в терминал.

Запустить ts-модуль без компиляции

npm run ts -- <Путь к модулю с ts-кодом>

Пакет ts-node позволяет выполнить TS-код в Node.js без предварительной компиляции. Используется только на этапе разработки.

Запустить проект

npm start

В процессе запуска проекта будет выполнен процесс «Сборки проекта» и запуска результирующего кода.

Запустить проект в режиме разработки

npm run start:dev

Запустить JSON-server с моковыми данными

npm run mock:server

Запустить консольную утилиту

npm run cli

Структура проекта

Директория src

Исходный код проекта: компоненты, модули и так далее. Структура директории src может быть произвольной.

Файл Readme.md

Инструкции по работе с учебным репозиторием.

Файл Contributing.md

Советы и инструкции по внесению изменений в учебный репозиторий.

Остальное

Все остальные файлы в проекте являются служебными. Пожалуйста, не удаляйте и не изменяйте их самовольно. Только если того требует задание или наставник.