Skip to content

Commit

Permalink
Merge pull request #88 from MYiLA/dev
Browse files Browse the repository at this point in the history
Release 1.1.0
  • Loading branch information
MYiLA authored Aug 28, 2023
2 parents fc1a69f + c508118 commit fd686c0
Show file tree
Hide file tree
Showing 355 changed files with 14,373 additions and 7,379 deletions.
3 changes: 3 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@ [email protected]
PGADMIN_DEFAULT_PASSWORD=gfhjkm
PGADMIN_ENABLE_TLS=True
SCRIPT_NAME=/pgadmin

YANDEX_OAUTH_CLIENT_ID=b78539a1fbf841339d5d675c7f64f954
YANDEX_OAUTH_CLIENT_SECRET=d6ebca91e9f045bc8b0278cf3d18fde2
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"semi": false,
"arrowParens": "avoid",
"bracketSameLine": true,
"width": 50
"width": 120
}
34 changes: 30 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,39 @@
# Changelog
# Список изменений

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

Формат ченжлога основан на правилах [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
Проект придерживается [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.1.0] - 2023-08-26

### Добавлено

- [CYB-39] (https://linear.app/cyberforest/issue/CYB-39) Написаны тесты на игровой движок + любой UI
- [CYB-77] (https://linear.app/cyberforest/issue/CYB-77) Задокументирована структура бэкенда
- [CYB-45] (https://linear.app/cyberforest/issue/CYB-45) Добавлен в проект memoryleaksmd
- [CYB-44] (https://linear.app/cyberforest/issue/CYB-44) Добавлено ещё одно WEB API: Notification API
- [CYB-43] (https://linear.app/cyberforest/issue/CYB-43) Добавлено API лидерборда
- [CYB-41] (https://linear.app/cyberforest/issue/CYB-41) Добавлена Oauth авторизация
- [CYB-86] (https://linear.app/cyberforest/issue/CYB-86) Скорректирована вёрстка игрового поля для офлайн режима
- [CYB-119] (https://linear.app/cyberforest/issue/CYB-119) Добавлены подписи полей и цветные засечки
- [CYB-61] (https://linear.app/cyberforest/issue/CYB-61) Добавлены эмоджи(бэкенд)
- [CYB-64] (https://linear.app/cyberforest/issue/CYB-64) Добавлено API форума
- [CYB-60] (https://linear.app/cyberforest/issue/CYB-60) Добавлены эмодзи (клиентская часть)
- [CYB-59] (https://linear.app/cyberforest/issue/CYB-59) Добавлено переключение тем (клиентская часть)
- [CYB-127] (https://linear.app/cyberforest/issue/CYB-127) Добавлена хроника на странице игры

### Исправлено
- [CYB-133] (https://linear.app/cyberforest/issue/CYB-133) Исправлен баг при создании топика
- [CYB-135] (https://linear.app/cyberforest/issue/CYB-135) Исправлено множество небольших багов

### Изменено
- [CYB-120] (https://linear.app/cyberforest/issue/CYB-120) Доработано API для OAuth
- [CYB-126] (https://linear.app/cyberforest/issue/CYB-126) Доработан SW и README

## [1.0.0] - 2023-07-22

### ADDED
### Добавлено
- [CYB-12] (https://linear.app/cyberforest/issue/CYB-12) Создан репозиторий из шаблона
- [CYB-13] (https://linear.app/cyberforest/issue/CYB-13) Добавлено отображение страниц, используя React Router и React Router DOM
- [CYB-14] (https://linear.app/cyberforest/issue/CYB-14) Сверстана главная страница игры - лобби с заглушкой форума
Expand Down Expand Up @@ -48,7 +74,7 @@
- [CYB-79] (https://linear.app/cyberforest/issue/CYB-79) Доработан Service Worker и авторизация
- [CYB-90] (https://linear.app/cyberforest/issue/CYB-79) Сверстана страница с описанием игры и информацией о разработчиках

### FIXED
### Исправлено
- [CYB-49] (https://linear.app/cyberforest/issue/CYB-49) Исправлен баг на странице регистрации
- [CYB-75] (https://linear.app/cyberforest/issue/CYB-75) Поправлен билд приложения
- [CYB-80] (https://linear.app/cyberforest/issue/CYB-80) Исправлены ошибки форума и настроек игры
Expand All @@ -58,5 +84,5 @@
- [CYB-96] (https://linear.app/cyberforest/issue/CYB-96) Поправлена вёрстка игры и игровой движок
- [CYB-98] (https://linear.app/cyberforest/issue/CYB-98) Поправлено позиционирование киберлеса на невысоких экранах мониторов. Упорядочены расстояния между пунктами меню в лобби. Убран лишний бэкграунд на странице игры. Поправлены уехавшие стрелки в гайде. Поправлено склонение слов при выйгрыше.

### CHANGED
### Изменено
- [CYB-36] (https://linear.app/cyberforest/issue/CYB-36) Авторизация стала проверяться через Hook useAuth
6 changes: 3 additions & 3 deletions Dockerfile.client
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
ARG CLIENT_PORT=3000

FROM node:18-alpine
FROM node:18

WORKDIR /app

COPY package.json yarn.lock ./
COPY package.json ./

RUN yarn install --frozen-lockfile
RUN yarn install

COPY . .

Expand Down
6 changes: 3 additions & 3 deletions Dockerfile.server
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
ARG SERVER_PORT=3001

FROM node:18-alpine
FROM node:18

WORKDIR /app

COPY package.json yarn.lock ./
COPY package.json ./

RUN yarn install --frozen-lockfile
RUN yarn install

COPY . .

Expand Down
10 changes: 10 additions & 0 deletions MEMORYLEAKS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Утечки памяти
Больших скачков памяти или постоянного роста потребления памяти не обнаружено.

При загрузке страницы JS Heap = 4 743 116 и в процессе пользования приложением изменяется незначительно, всегда возвращаясь к изначальным значениям.

В процессе игры увеличивается значение Documents, но это обусловлено тем, что в процессе игры генерируются новые кубики при найме воинов в киберлесе

![Perfomance](https://github.com/MYiLA/cyber-forest/raw/dev/packages/client/src/assets/images/perfomance-start.png)

![Perfomance](https://github.com/MYiLA/cyber-forest/raw/dev/packages/client/src/assets/images/perfomance-end.png)
73 changes: 28 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@
### Как запускать?

1. Убедитесь что у вас установлен `node` и `docker`
2. Выполните команду `yarn bootstrap` - это обязательный шаг, без него ничего работать не будет :)
3. Выполните команду `yarn dev`
3. Выполните команду `yarn dev --scope=client` чтобы запустить только клиент
4. Выполните команду `yarn dev --scope=server` чтобы запустить только server
5. Выполните команду `yarn ssr` - для запуска приложения в режиме SSR


### Как добавить зависимости?
В этом проекте используется `monorepo` на основе [`lerna`](https://github.com/lerna/lerna)

Чтобы добавить зависимость для клиента
```yarn lerna add {your_dep} --scope client```
![Киберлес](https://github.com/MYiLA/cyber-forest/raw/dev/packages/client/src/assets/images/promo.png)

Для сервера
```yarn lerna add {your_dep} --scope server```
### Как запускать?
Рабочее приложение: [`https://cyberforest.ru`](https://cyberforest.ru)

И для клиента и для сервера
```yarn lerna add {your_dep}```
Документация по API: [`https://cyberforest.ru/api/docs`](https://cyberforest.ru/api/docs)

1. Клонируйте репозиторий `git clone https://github.com/MYiLA/cyber-forest.git`
2. Перейдите в папку `cd cyber-forest`
3. Переключитесь в ветку dev `git checkout dev`
4. Выполните команду `yarn run bootstrap` - это обязательный шаг, без него ничего работать не будет :)
5. Выполните команду `yarn run dev:client`
6. Приложение будет запущено на `http://localhost:3000`
7. Приложение использует API [`https://cyberforest.ru/api`](https://cyberforest.ru/api/docs), локально backend запускать не нужно

Если вы хотите добавить dev зависимость, проделайте то же самое, но с флагом `dev`
```yarn lerna add {your_dep} --dev --scope server```
Для запуска `backend`

5. Подключите и запустите PostgreSQL в Docker - `docker-compose up postgres -d`
6. Выполните команду `yarn run dev:server`
7. API будет доступно на `http://localhost:3001/api`, Swagger - `http://localhost:3001/api/docs`

### Тесты

Expand All @@ -43,35 +37,24 @@

```yarn build```

И чтобы посмотреть что получилось


`yarn preview --scope client`
`yarn preview --scope server`

## Хуки
В проекте используется [lefthook](https://github.com/evilmartians/lefthook)
Если очень-очень нужно пропустить проверки, используйте `--no-verify` (но не злоупотребляйте :)
### Как добавить зависимости?
В этом проекте используется `monorepo` на основе [`lerna`](https://github.com/lerna/lerna)

## Ой, ничего не работает :(
Чтобы добавить зависимость для клиента
```yarn lerna add {your_dep} --scope client```

Откройте issue, я приду :)
Для сервера
```yarn lerna add {your_dep} --scope server```

## Автодеплой статики на vercel
Зарегистрируйте аккаунт на [vercel](https://vercel.com/)
Следуйте [инструкции](https://vitejs.dev/guide/static-deploy.html#vercel-for-git)
В качестве `root directory` укажите `packages/client`
И для клиента и для сервера
```yarn lerna add {your_dep}```

Все ваши PR будут автоматически деплоиться на vercel. URL вам предоставит деплоящий бот

## Production окружение в докере
Перед первым запуском выполните `node init.js`
Если вы хотите добавить dev зависимость, проделайте то-же самое, но с флагом `dev`
```yarn lerna add {your_dep} --dev --scope server```


`docker compose up` - запустит три сервиса
1. nginx, раздающий клиентскую статику (client)
2. node, ваш сервер (server)
3. postgres, вашу базу данных (postgres)
## Хуки
В проекте используется [lefthook](https://github.com/evilmartians/lefthook)
Если очень-очень нужно пропустить проверки, используйте `--no-verify` (но не злоупотребляйте :)

Если вам понадобится только один сервис, просто уточните какой в команде
`docker compose up {sevice_name}`, например `docker compose up server`
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@

- [Сценарий игры](game-desc.md) - Описание механики и логики игры
- [Flow работы с проектом](work-flow.md) - Описания порядка работы с проектом
- [Структура backend](backend.md) - Описание структуры
Loading

0 comments on commit fd686c0

Please sign in to comment.