Убедитесь, что на рабочем компьютере установлен актуальный 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:devnpm run mock:servernpm run cliИсходный код проекта: компоненты, модули и так далее. Структура директории src может быть произвольной.
Инструкции по работе с учебным репозиторием.
Советы и инструкции по внесению изменений в учебный репозиторий.
Все остальные файлы в проекте являются служебными. Пожалуйста, не удаляйте и не изменяйте их самовольно. Только если того требует задание или наставник.