Убедитесь, что на рабочем компьютере установлен актуальный 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 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
.
Обратите внимание, при запуске данной команды, ошибки выводятся в терминал.
npm run ts -- <Путь к модулю с ts-кодом>
Пакет ts-node
позволяет выполнить TS-код в Node.js без предварительной компиляции. Используется только на этапе разработки.
npm start
В процессе запуска проекта будет выполнен процесс «Сборки проекта» и запуска результирующего кода.
npm run start:dev
npm run mock:server
npm run cli
Исходный код проекта: компоненты, модули и так далее. Структура директории src
может быть произвольной.
Инструкции по работе с учебным репозиторием.
Советы и инструкции по внесению изменений в учебный репозиторий.
Все остальные файлы в проекте являются служебными. Пожалуйста, не удаляйте и не изменяйте их самовольно. Только если того требует задание или наставник.