Для удобства работы над проектом используются инструменты из Node.js и npm. Все необходимые настройки произведены. Убедитесь, что на рабочем компьютере установлен актуальный LTS релиз Node.js**. Актуальная версия Node.js указана в файле package.json
в поле node
.
Убедитесь, что на рабочем компьютере установлен актуальный LTS релиз Node.js. Актуальная версия Node.js указана в файле package.json
в поле node
.
Выполните команду
npm install
В проекте используется база данных MongoDB версии 4.2.
Если вы используете Docker, воспользуйтесь файлом docker-compose.dev.yml
, расположенным в корне проекта, для быстрого разворачивания базы данных.
Запустите JSON-сервер с моковыми данными:
npm run mock:server
Сгенерируйте нужное количество предложений об аренде:
npm run ./src/main.cli.ts -- --generate 50 ./mocks/mock-data.tsv http://localhost:3123/api
Импортируйте данные в базу данных, используя настройки подключения из файла docker-compose
:
npm run ./src/main.cli.ts -- --import ./mocks/mock-data.tsv admin test localhost six-cities secret
В корне проекта находится файл .env.example
. Скопируйте его содержимое в файл .env
и настройте значения переменных.
PROTOCOL=http
- Протокол, используемый для подключения к базе данных
HOST=localhost
- Имя хоста, на котором будет запущен сервер приложения
PORT=4000
- Порт, на котором будет запущен сервер приложения
SALT=secret
- Соль, которая будет использоваться для хэширования паролей
DB_HOST=127.0.0.1
- Адрес, по которому будет доступна база данных.
DB_PORT=27017
- Порт, который будет использоваться для подключения к базе данных
DB_NAME=six-cities
- Название базы данных, к которой будет производиться подключение
DB_USER=admin
- Имя пользователя для подключения к базе данных
DB_PASSWORD=test
- Пароль пользователя для подключения к базе данных
UPLOAD_DIRECTORY=upload
- Директория для хранения загружаемых пользователями файлов
JWT_SECRET=1QSACZXASD12SSKJDHKAnnaQW
- Секрет для подписи JWT-Токена
Выполните команду
npm start
В package.json
предопределено несколько сценариев.
npm run compile
Создаст директорию dist
и скомпилирует проект.
npm run clean
Удаляет директорию dist
. Используется перед компиляцией.
npm run build
Выполняет сборку проекта: удаляет ранее скомпилированный проект и компилирует заново.
npm run start:dev
npm run mock:server
npm run lint
Запуск проверки проекта статическим анализатором кода ESLint.
Линтер проверяет файлы только внутри директории src
.
Обратите внимание, при запуске данной команды, ошибки выводятся в терминал.
npm run ts -- <Путь к модулю с ts-кодом>
Пакет ts-node
позволяет выполнить TS-код в Node.js без предварительной компиляции. Используется только на этапе разработки.
npm start
В процессе запуска проекта будет выполнен процесс «Сборки проекта» и запуска результирующего кода.
Исходный код проекта: компоненты, модули и так далее. Структура директории src
может быть произвольной.
Инструкции по работе с учебным репозиторием.
Советы и инструкции по внесению изменений в учебный репозиторий.
Все остальные файлы в проекте являются служебными. Пожалуйста, не удаляйте и не изменяйте их самовольно. Только если того требует задание или наставник.