IT Lab Platform
✨
Этот репозиторий содержит исходный код приложения "IT Lab Application", разработанного для Кубанского государственного университета и Лаборатории коммерческой разработки ПО IT Lab.
## Описание
Проект представляет собой приложение, созданное с использованием NX и JavaScript. Он разработан с целью удовлетворения потребностей Кубанского государственного университета и Лаборатории коммерческой разработки ПО IT Lab.
## Сервисы
- [frontend (ReactJS)](https://github.com/IT-Lab-KubSU/platform/tree/main/apps/frontend)
- [AGW](https://github.com/IT-Lab-KubSU/platform/tree/main/apps/agw)
- [User Data Service](https://github.com/IT-Lab-KubSU/platform/tree/main/apps/user-data)
- [Auth Service](https://github.com/IT-Lab-KubSU/platform/tree/main/apps/auth)
## Развертывание
To start the development server run `nx serve frontend`. Open your browser and navigate to http://localhost:4200/. Happy coding!
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` - документация
```mermaid
graph TD;
agw-e2w-->agw;
frontend-e2e-->frontend;
frontend-->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;
```
## 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 ` to see what generators are available.
Learn more about [Nx generators on the docs](https://nx.dev/plugin-features/use-code-generators).
## Running tasks
To execute tasks with Nx use the following syntax:
```
nx <...options>
```
You can also run multiple targets:
```
nx run-many -t
```
..or add `-p` to filter specific projects
```
nx run-many -t -p
```
Targets can be defined in the `package.json` or `projects.json`. Learn more [in the docs](https://nx.dev/core-features/run-tasks).
## Want better Editor Integration?
Have a look at the [Nx Console extensions](https://nx.dev/nx-console). 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.
# Стиль кода
## Коммиты
Используемые префиксы:
- **feat:** (от "feature") - новая функциональность или добавление нового компонента.
- **fix:** - исправление ошибок или дефектов.
- **docs:** - изменения, связанные с документацией, например, обновление README или документации в коде.
- **style:** - изменения внешнего вида кода, форматирование, пробелы, отступы и т.д., которые не влияют на его поведение.
- **refactor:** - рефакторинг кода без исправления ошибок или добавления новых функций.
- **test:** - добавление или исправление тестов.
- **chore:** - изменения в сборочных скриптах, настройках инструментов, обновление зависимостей и т.д.
- **perf:** - изменения, связанные с оптимизацией производительности.
- **revert:** - отмена предыдущего коммита.
- **merge:** - коммит, созданный при слиянии веток.
- **release:** - коммит, связанный с выпуском новой версии.
- **require:** - коммит, связанный с установкой новой библиотеки