Skip to content

Commit

Permalink
Merge pull request #13 from skudinva/module9-task2
Browse files Browse the repository at this point in the history
  • Loading branch information
keksobot authored Oct 21, 2024
2 parents 497a2bd + acd0739 commit 1e4b828
Show file tree
Hide file tree
Showing 192 changed files with 30,805 additions and 447 deletions.
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ DB_HOST="127.0.0.1"
DB_NAME="six-cities"
PORT=4000
SALT="sixCitiesSalt"
UPLOAD_DIRECTORY="/upload"
UPLOAD_DIRECTORY="upload"
JWT_SECRET="someSecretKey"
HOST="localhost"
STATIC_DIRECTORY_PATH="static"
6 changes: 1 addition & 5 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
Todo:
✔ В *service отлавливать ошибки через try catch @done(24-10-15 22:11)
☐ SALT из контроллера передается в сервис параметром. Для чего? Почему соль нельзя в сервисе считать из конфига? Нарушение паттерна? Можно перетащить в сервис!!!
✔ В DTO добавить валидацию @done(24-10-12 13:12)
✔ кол-во коментов динамически https://stackoverflow.com/questions/48389112/mongodb-best-practice-to-count-related-documents @done(24-10-12 13:12)
☐ 4.4.2. В файле Workflow.md предусмотрите раздел «Запуск проекта» и опишите в нём подробную инструкцию по запуску проекта. Формат описания остаётся на усмотрение студента.
☐ 4.4.3. В файле Workflow.md в секции «Сценарии» перечислите все сценарии, доступные в package.json и опишите их предназначение.
Убрать костыль offer.id = offer._id.toHexString();
--/offers/:offerId/image
40 changes: 39 additions & 1 deletion Workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Окружение

Для удобства работы над проектом используются инструменты из **Node.js** и **npm**. Все необходимые настройки произведены. Убедитесь, что на рабочем компьютере установлен актуальный LTS релиз Node.js**. Актуальная версия **Node.js** указана в файле `package.json` в поле `node`. Затем, в терминале, перейдите в директорию с проектом и _единожды_ запустите команду:
Для удобства работы над проектом используются инструменты из **Node.js** и **npm**. Все необходимые настройки произведены. Убедитесь, что на рабочем компьютере установлен актуальный LTS релиз Node.js**. Актуальная версия **Node.js\*\* указана в файле `package.json` в поле `node`. Затем, в терминале, перейдите в директорию с проектом и _единожды_ запустите команду:

```bash
npm install
Expand Down Expand Up @@ -66,6 +66,44 @@ npm start

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

#### Запустить json-сервер

```bash
npm run mock:server
```

После запуска сервер будет слушать http://localhost:3123

#### Создать и поднять docker контейнер

```bash
npm run docker:up
```

#### Остановить docker контейнер

```bash
npm run docker:stop
```

#### Сгенерировать файл с моковыми данными

```bash
npm run cli:generate
```

После выполнения создает файл ./mocks/generate-data.tsv
Для работы должен быть активный json-сервер (см. mock:server).

#### Загрузить в mongo файл с моковыми данными

```bash
npm run cli:db
```

После запуска загружает файл ./mocks/generate-data.tsv на сервер
Файл с моковыми данными генерируется командой cli:generate.

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

### Директория `src`
Expand Down
1 change: 1 addition & 0 deletions frontend/.env.local
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DISABLE_ESLINT_PLUGIN=true
9 changes: 9 additions & 0 deletions frontend/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
* text eol=lf

*.png binary
*.jpg binary
*.jpeg binary
*.webp binary
*.woff binary
*.woff2 binary
*.ttf binary
27 changes: 27 additions & 0 deletions frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
Thumbs.db
.DS_Store
.env
*.log*

npm-debug.log*
yarn-debug.log*
yarn-error.log*

# editors
.idea
*.sublime*
.vscode
88 changes: 88 additions & 0 deletions frontend/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Руководство по работе с проектом

Данный проект создан с помощью [Create React App](https://github.com/facebook/create-react-app).

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

---

_Не удаляйте и не изменяйте папки и файлы:_
_`.editorconfig`, `.gitattributes`, `.gitignore`, `package.json`._

---

### public

Директория для размещения статичных ресурсов (шрифты, стили, изображения и так далее). Корневая директория проекта.

**Обратите внимание**, файл `Readme.md`, в директории `public`, содержит описание подготовительного процесса, который вам необходимо выполнить перед тем, как приступать к работе над проектом.

### src

В директории размещаются исходный код проекта: компоненты, файлы с тестами, модули и так далее. Структура директории `src` может быть произвольной.

## Сценарии

После создания проекта вам доступны следующие сценарии. Обратите внимание, для запуска сценария, вы должны находится в директории проекта (`./project`).

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

```bash
npm start
```

После запуска, приложение доступно для просмотра в браузере по адресу [http://localhost:3000](http://localhost:3000).

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

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

### Запуск тестов

```bash
npm test
```

Запуск тестов приложения в интерактивном режиме.

В данном случае, имеются в виду тесты, которые вынесены в отдельные файлы, в имени которых присутствует суффикс `*.test.*`. Например, `app.test.tsx`.

Подробную информацию вы можете найти на странице [Запуск тестов](https://facebook.github.io/create-react-app/docs/running-tests).

### Проверка линтером

```bash
npm run lint
```

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

Анализ кода производится только в файлах, которые находятся в директории `src`.

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

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

```bash
npm run build
```

Запуск сборки приложения.

В процессе сборки приложения, код приложения оптимизируется и минимизируется, для достижения наилучшей производительности.

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

Подробную информацию вы можете найти на странице [Развертывание проекта](https://facebook.github.io/create-react-app/docs/deployment).

### Извлечение конфигурации проекта

```bash
npm run eject
```

**Обратите внимание**, при запуске команды `npm run eject` нет возможности вернуть внесённые изменения обратно!

Выполнение данной команды, `react-scripts` скопирует все конфигурационные файлы и скрипты в корень проекта. Данный процесс позволяет получить полный контроль над конфигурацией проекта.

Не используйте данную команду, если не уверены как именно она работает или к какому результату приведёт ее выполнение.
Loading

0 comments on commit 1e4b828

Please sign in to comment.