You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kempt-kinkajou-2023/weather_platform/README.md

168 lines
5.9 KiB

<div style="display: flex; flex-direction: row; align-items: center; justify-content: center;">
<img style="border-radius: 1em; align-self: center;" src="https://git.djft.ru/avatars/9f5343fc9d97fdb7f08afabf3c472334?size=420" width="45">
<h1 style="text-align: center; margin-left: 10px; margin-top: 2px;">K-Lab | Cyber Garden Weather</h1>
</div>
<div style="display: flex; align-items: center; border: 1px solid #ccc; padding: 10px; border-radius: 5px;">
<span style="font-size: 20px; margin-right: 10px;"></span>
<span style="font-size: 16px;">
Processing Platform monorepo
</span>
</div>
## Описание
https://www.notion.so/sorrythisdomainisnotavailable/CyberGarden-k-Lab-docs-01392e46510e4d5c80c0a198c037d768?pvs=4
## Сервисы
- [frontend (ReactJS)](/apps/crud)
- [frontend e2e](/apps/crud-e2e)
## Dev
### Backend
#### Prisma Types
```bash
nx g prisma-generator
```
### Frontend
#### Create a new Layout
```bash
nx g @nx/react:component NAME --project site-layouts
```
#### Create a new Page
```bash
nx g @nx/react:component NAME --project site-pages
```
#### Create a new Component
Like navbar, footer, login card, delete modal alert and et.
```bash
nx g @nx/react:component NAME --project ui-modules
```
#### Create a new UI Component
Like nav_link, cta_button, username_input and et.
```bash
nx g @nx/react:component NAME --project ui
```
## Развертывание
To start the development server run `nx serve frontend`. Open your browser and navigate to http://localhost:4200/. Happy coding!
```bash
npm i -g prisma nx
```
```bash
yarn install
```
```bash
copy .env.example .env
```
```bash
cd apps/matrix-events-registry/docker && docker-compose up -d
```
```bash
cd apps/matrix-registry/docker && docker-compose up -d
```
```bash
cd apps/labs/docker && docker-compose up -d
```
```bash
cd apps/labs/docker && docker-compose up -d
```
[Matrix Registry Service](/apps/matrix-registry)
```bash
prisma db push --schema="./libs/prisma-clients/matrix-device-registry/prisma/schema.prisma"
```
```bash
prisma generate --schema="./libs/prisma-clients/matrix-device-registry/prisma/schema.prisma"
```
[Matrix Events Registry Service](/apps/matrix-events-registry)
```bash
prisma db push --schema="./libs/prisma-clients/matrix-events/prisma/schema.prisma"
```
```bash
prisma generate --schema="./libs/prisma-clients/matrix-events/prisma/schema.prisma"
```
```bash
prisma db push --schema="./libs/prisma-clients/labs/prisma/schema.prisma"
```
```bash
prisma generate --schema="./libs/prisma-clients/labs/prisma/schema.prisma"
```
```bash
nx run py-multy-agent-interpreter:serve
```
Run all services:
```bash
nx run-many --parallel --target=serve --projects=frontend,agw,matrix-registry,matrix-events-registry,labs
```
## Структура репозитория
Репозиторий содержит следующие основные каталоги и файлы:
- `apps` - приложения
- `libs` - библиотеки и генераторы
- `tools` - Nx workspaces tools
- `docs` - документация
## Коммиты
Используемые префиксы:
- **feat:** (от "feature") - новая функциональность или добавление нового компонента.
- **fix:** - исправление ошибок или дефектов.
- **docs:** - изменения, связанные с документацией, например, обновление README или документации в коде.
- **style:** - изменения внешнего вида кода, форматирование, пробелы, отступы и т.д., которые не влияют на его поведение.
- **refactor:** - рефакторинг кода без исправления ошибок или добавления новых функций.
- **test:** - добавление или исправление тестов.
- **chore:** - изменения в сборочных скриптах, настройках инструментов, обновление зависимостей и т.д.
- **perf:** - изменения, связанные с оптимизацией производительности.
- **revert:** - отмена предыдущего коммита.
- **merge:** - коммит, созданный при слиянии веток.
- **release:** - коммит, связанный с выпуском новой версии.
- **require:** - коммит, связанный с установкой новой библиотеки
---
# Any NX comands log
- npx create-nx-workspace@latest --preset=react
- npm install -D @nrwl/nest
- nx g @nrwl/nest:app agw --frontendProject crud
- nx g @nx/react:setup-tailwind --project=crud
- nx g @nx/react:lib ui
- nx g @nx/react:component navbar --project ui
- nx run-many --parallel --target=serve --projects=agw,auth,crud
### Creating Prisma generator tool
- nx g plugin
- prisma-generator
- nx generate @nx/plugin:generator prisma-generator --project=prisma-generator
#### Run
- nx generate prisma-generator
#### Migrations
- prisma db push --schema="./libs/prisma-clients/Agregators/prisma/schema.prisma"
- prisma generate --schema="./libs/prisma-clients/Agregators/prisma/schema.prisma"
- prisma db push --schema="./libs/prisma-clients/Measures/prisma/schema.prisma"
- prisma generate --schema="./libs/prisma-clients/Measures/prisma/schema.prisma"
- prisma db push --schema="./libs/prisma-clients/Sensors/prisma/schema.prisma"
- prisma generate --schema="./libs/prisma-clients/Sensors/prisma/schema.prisma"
### Crud Pages
- nx generate @nrwl/react:lib site-pages --template=typescript
- nx g @nx/react:component NAME --project site-pages
- nx build site-pages
### Crud Layout
- nx generate @nrwl/react:lib site-layouts --template=typescript
- nx g @nx/react:component NAME --project site-layouts