generated from yandex-praktikum/client-server-template-with-vite
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #27 from Timur233/no-task_readme
[No-task] Readme
- Loading branch information
Showing
1 changed file
with
44 additions
and
59 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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` | ||
--- |