Этот репозиторий содержит исходный код приложения "IT Lab Platform", разработанного для Кубанского государственного университета и Лаборатории коммерческой разработки ПО IT Lab.
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.
 
 
 
 
 
Go to file
AlexBarmen 327767169b
Merge branch 'feature/auth-configure' of https://github.com/IT-Lab-KubSU/platform into feature/auth-configure
1 year ago
.vscode feat: added prisma schema nx generator 1 year ago
.yarn/releases feat: added prisma schema nx generator 1 year ago
apps Merge branch 'feature/auth-configure' of https://github.com/IT-Lab-KubSU/platform into feature/auth-configure 1 year ago
config style: created network config files 1 year ago
docs Merge pull request #3 from IT-Lab-KubSU/feature/auth 1 year ago
libs added home-page and form hook library 1 year ago
tools Initial commit 2 years ago
.editorconfig Initial commit 2 years ago
.env feat: created and register new prisma client for user-data service 1 year ago
.eslintignore Initial commit 2 years ago
.eslintrc.json feat: added prisma schema nx generator 1 year ago
.gitignore fix: Update .gitignore 2 years ago
.prettierignore Initial commit 2 years ago
.prettierrc Initial commit 2 years ago
.yarnrc feat: added prisma schema nx generator 1 year ago
README.md feat: created and register new prisma client for user-data service 1 year ago
docker-compose.yml feat: add user data service 2 years ago
jest.config.ts Initial commit 2 years ago
jest.preset.js Initial commit 2 years ago
nx.json feat: configured storybook for the "ui" lib 2 years ago
package-lock.json added home-page and form hook library 1 year ago
package.json added home-page and form hook library 1 year ago
tsconfig.base.json feat: created and register new prisma client for user-data service 1 year ago
yarn.lock added home-page and form hook library 1 year ago

README.md

IT Lab Platform

Этот репозиторий содержит исходный код приложения "IT Lab Application", разработанного для Кубанского государственного университета и Лаборатории коммерческой разработки ПО IT Lab.

Описание

Проект представляет собой приложение, созданное с использованием NX и JavaScript. Он разработан с целью удовлетворения потребностей Кубанского государственного университета и Лаборатории коммерческой разработки ПО IT Lab.

Сервисы

Развертывание

To start the development server run nx serve frontend. Open your browser and navigate to http://localhost:4200/. Happy coding!

npm i -g prisma nx
yarn install
copy .env.example .env
cd apps/auth/serving && copy database.env.example database.env && sudo docker-compose up -d
cd apps/auth/serving && copy database.env.example database.env && sudo docker-compose up -d && cd ../../../
cd apps/user-data/serving && copy database.env.example database.env && sudo docker-compose up -d && cd ../../../

auth

prisma generate --schema="./libs/prisma-clients/auth/prisma/schema.prisma"
prisma db push --schema="./libs/prisma-clients/auth/prisma/schema.prisma"

user data

prisma generate --schema="./libs/prisma-clients/user-data/prisma/schema.prisma"
prisma db push --schema="./libs/prisma-clients/user-data/prisma/schema.prisma"

Run all services:

nx run-many --parallel --target=serve --projects=agw,user-data,auth,frontend
Deploy on SCOS

Структура репозитория

Репозиторий содержит следующие основные каталоги и файлы:

  • apps - приложения
  • libs - библиотеки
  • tools - Nx workspaces tools
  • docs - документация
graph TD;
    agw-e2w-->agw;
    frontend-e2e-->frontend;
    ui-modules-->agw;
    agw-->user-data;
    user-data-->user-data-db;
    user-data-db-->user-data-pg-admin;
    agw-->auth-client;
    auth-client-->auth;
    auth-->auth-db;
    auth-db-->auth-db-admin;
    ui-modules-->ui;
    site-pages-->ui-modules;
    frontend-->site-pages;
    site-pages-->site-layouts;

Generate code

If you happen to use Nx plugins, you can leverage code generators that might come with it.

Run nx list to get a list of available plugins and whether they have generators. Then run nx list <plugin-name> to see what generators are available.

Learn more about Nx generators on the docs.

Running tasks

To execute tasks with Nx use the following syntax:

nx <target> <project> <...options>

You can also run multiple targets:

nx run-many -t <target1> <target2>

..or add -p to filter specific projects

nx run-many -t <target1> <target2> -p <proj1> <proj2>

Targets can be defined in the package.json or projects.json. Learn more in the docs.

Want better Editor Integration?

Have a look at the Nx Console extensions. It provides autocomplete support, a UI for exploring and running tasks & generators, and more! Available for VSCode, IntelliJ and comes with a LSP for Vim users.

Ready to deploy?

Just run nx build demoapp to build the application. The build artifacts will be stored in the dist/ directory, ready to be deployed.

Backend

Prisma Types

nx g prisma-generator

Frontend

Create a new Layout

nx g @nx/react:component NAME --project site-layouts

Create a new Page

nx g @nx/react:component NAME --project site-pages

Create a new Component

Like navbar, footer, login card, delete modal alert and et.

nx g @nx/react:component NAME --project ui-modules

Create a new UI Component

Like nav_link, cta_button, username_input and et.

nx g @nx/react:component NAME --project ui

Стиль кода

Коммиты

Используемые префиксы:

  • feat: (от "feature") - новая функциональность или добавление нового компонента.
  • fix: - исправление ошибок или дефектов.
  • docs: - изменения, связанные с документацией, например, обновление README или документации в коде.
  • style: - изменения внешнего вида кода, форматирование, пробелы, отступы и т.д., которые не влияют на его поведение.
  • refactor: - рефакторинг кода без исправления ошибок или добавления новых функций.
  • test: - добавление или исправление тестов.
  • chore: - изменения в сборочных скриптах, настройках инструментов, обновление зависимостей и т.д.
  • perf: - изменения, связанные с оптимизацией производительности.
  • revert: - отмена предыдущего коммита.
  • merge: - коммит, созданный при слиянии веток.
  • release: - коммит, связанный с выпуском новой версии.
  • require: - коммит, связанный с установкой новой библиотеки