Skip to content

Latest commit

 

History

History
205 lines (126 loc) · 7.59 KB

Workflow.md

File metadata and controls

205 lines (126 loc) · 7.59 KB

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

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

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

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

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

npm install

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

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

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

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

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

npm run start:mock-server

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

npm run generate:tsv # генерирует 100 предложений                                                                                                                                                                                                                                      

или

npm run ts ./src/main.cli.ts -- --generate 100 ./mocks/test-data.tsv http://localhost:3000/api # для более гибкой настройки                                                                                                                                                                                                                                   

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

npm run import:tsv                                                                                                                                                                                                                                      

или

npm run ts ./src/main.cli.ts -- --import ./mocks/test-data.tsv admin test 127.0.0.1 six-cities salt                                                                                                                                                                                                                                

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

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

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

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

SALT=bb792f26-195c-41ab-a9fb-db74f7cdbfb4 - Соль для хеша пароля

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

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

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

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

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

UPLOAD_DIRECTORY=upload - Каталог для загрузки файлов

STATIC_DIRECTORY_PATH=static - Путь к каталогу со статическими ресурсами

JWT_SECRET=537075d6-c7db-4cf8-b49b-8a8e7bff0960 - Секрет для знака JWT

HOST=http://localhost - Хост, на котором запущен сервис

Сценарии

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

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

npm run compile

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

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

npm run clean

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

Вспомогательная команда для запуска generate:tsv и import:tsv

npm run ts

Сгенерировать 100 предложений в файл по пути ./mocks/test-data.tsv c мокового json-api сервера http://localhost:3000/api

(при изменении параметров необходимо менять скрипт в package.json)

npm run generate:tsv

Импортировать из файла ./mocks/test-data.tsv данные в базу данных MongoDB c DB_USER=admin и DB_PASSWORD=test, по пути 127.0.0.1 с именем базы данных - six-cities и солью - salt

(при изменении параметров необходимо менять скрипт в package.json)

npm run generate:tsv

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

npm run build

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

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

npm run lint

Проверить проект через eslint

npm run lint:eslint

Проверить проект на корректность типизации

npm run lint:types

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

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

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

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

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

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

Запустить JSON-server

npm run start:mock-server

Данные берутся из корня проекта ./mocks/mock-server-data.json

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

npm start:dev

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

npm start

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

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

Директория src

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

Файл Readme.md

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

Файл Contributing.md

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

Остальное

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