Skip to content

Commit

Permalink
Merge pull request #27 from Timur233/no-task_readme
Browse files Browse the repository at this point in the history
[No-task] Readme
  • Loading branch information
VladToby authored Oct 15, 2024
2 parents 97d8b74 + e4ffaa3 commit a6128a4
Showing 1 changed file with 44 additions and 59 deletions.
103 changes: 44 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,76 +1,61 @@
### Как запускать?
# Tank Wars

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

Легендарные танчики в стилистике Денди 90х

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

Чтобы добавить зависимость для клиента
```yarn lerna add {your_dep} --scope client```
### При разработке были использованы следующие технологии:

Для сервера
```yarn lerna add {your_dep} --scope server```
- Vite
- React
- React Router
- Redux
- Typescript
- Axios
- SCSS
- ServiceWorkers

И для клиента и для сервера
```yarn lerna add {your_dep}```
---

### Макет в [Figma](https://www.figma.com/design/eMv3lcr1Qd6j2XU3CQdZ7V/Untitled?node-id=510-62&node-type=frame&t=i29DLi5WkY4HXDji-0)

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

### Установка

### Тесты
#### Перед первым запуском необходимо создать файл `.env` в корне проекта со следующим содержимым:

Для клиента используется [`react-testing-library`](https://testing-library.com/docs/react-testing-library/intro/)
```
CLIENT_PORT=3000
SERVER_PORT=3001
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres
POSTGRES_PORT=5432
```yarn test```
TRAEFIK_NETWORK_NAME=traefik_traefik
DOCKER_BUILDKIT=1 #Build only stages required for target
COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml
VITE_AUTH_URL='https://ya-praktikum.tech/api/v2'
VITE_SRC_URL='https://ya-praktikum.tech/api/v2/resources'
VITE_AUTH_PATHNAMES='/sign-in, /sign-up'
```

(также актульное содержимое файла `.env` всегда можно найти в корне проекта в файле `.env.sample`)

### Линтинг
#### Для установки нужно выполнить следующие действия:

```yarn lint```
1. Склонировать данный репозиторий (git clone *ссылка на репозиторий*)
2. Убедитесь что у вас установлен `node`
3. Выполните команду `yarn bootstrap` - это обязательный шаг, без него ничего работать не будет :)
4. Выполните команду `yarn install`
5. Выполните команду `yarn run dev` - для запуска режима разработки

### Форматирование prettier
#### Дополнительные команды:

```yarn format```
- `yarn run lint` - Проверка типов и линтиг всего проекта
- `yarn run format` - Автоматическое форматирование

### Production build

```yarn build```

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


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

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

## Ой, ничего не работает :(

Откройте issue, я приду :)

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

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

## Production окружение в докере
Перед первым запуском выполните `node init.js`


`docker compose up` - запустит три сервиса
1. nginx, раздающий клиентскую статику (client)
2. node, ваш сервер (server)
3. postgres, вашу базу данных (postgres)

Если вам понадобится только один сервис, просто уточните какой в команде
`docker compose up {sevice_name}`, например `docker compose up server`
---

0 comments on commit a6128a4

Please sign in to comment.