K-Lab | Cyber Garden Weather

Processing Platform monorepo
## Описание 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 docker-compose up -d ``` Run all services: ```bash nx run-many --parallel --target=serve --projects=crud,agw,agregators-service,measures-service,sensors-service ``` ```bash nx run py-tg-bot-weather-agent:serve ``` ## Структура репозитория Репозиторий содержит следующие основные каталоги и файлы: - `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