GithubHelp home page GithubHelp logo

atls / serenity Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 6.0 944.42 MB

Open source marketplace SaaS same as profi.ru or youdo.com inspired by DDD

Home Page: https://serenity.atls.tech

Dockerfile 0.80% TypeScript 98.73% JavaScript 0.19% Mustache 0.23% Jsonnet 0.06%
ddd ddd-architecture ddd-patterns ddd-example dry nestjs nestjs-backend

serenity's Introduction

pure-control

serenity's People

Contributors

dependabot[bot] avatar ilyassab avatar renovate-bot avatar talentumtuum avatar tfk70 avatar torinasakura avatar unmyke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

serenity's Issues

Список категорий

Описание бага

На странице http://localhost:3000/specialists некорректно отображаются разделы

Воспроизведение

Шаги для воспроизведения бага:

  1. docker-compose up site-local
  2. docker-compose up private-gateway
  3. Идем на http://localhost:4001/ - там создаем группы категорий и сами категории:

Создание группы:

mutation CreateCategoryGroup {
  createCategoryGroup(input: { name: "group" }) {
    result {
      id
    }
  }
}

Создание категории:

mutation CreateCategory {
  createCategory(
    input: {
      name: "category"
      groupId: "f31e7945-dbd3-48cd-bc47-d1bfed2838fc"
    }
  ) {
    result {
      id
    }
  }
}
  1. После создание тестовых данных идем на http://localhost:3000/specialists
  2. Ждем пока обработается запрос и справа отрисуются разделы
  3. Видим, что они не соответствуют дизайну

Ожидаемое поведение

Дизайн

Материалы

Screenshot from 2022-05-25 16-10-08

Данные окружения

[task] Не стартуют сервисы

Окружение:

  • node-14-alpine

Что случилось?

Запуск микросервисов, имеющих модуль персистентности, останавливается без сообщений об ошибках и завершения работы.

Опишите пошагово что сделать, что бы повторить баг

  • запустить любой микосервис, имеющий в зависимостях модуль персистентности
$ docker-compose up -d identity-service
  • посмотреть логи запущенносого микосервиса
$ docker-compose logs --follow identity-service

Attaching to serenity_identity-service_1
identity-service_1  | yarn run v1.22.5
identity-service_1  | $ yarn workspace @identity/service dev
identity-service_1  | $ server-scripts start
identity-service_1  | Compiled with warnings.
identity-service_1  | 
identity-service_1  | /workspace/backend/protos/identity/src/index.ts
identity-service_1  | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
identity-service_1  | 
identity-service_1  | /workspace/backend/protos/common/src/index.ts
identity-service_1  | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
identity-service_1  | 
identity-service_1  | Search for the keywords to learn more about each warning.
identity-service_1  | To ignore, add // eslint-disable-next-line to the line before.
identity-service_1  | 
identity-service_1  | Starting the development server...
identity-service_1  | 
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [NestFactory] Starting Nest application...
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] BusModule dependencies initialized +40ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] TypeOrmModule dependencies initialized +0ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] TypeOrmModule dependencies initialized +1ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] LoggerModule dependencies initialized +0ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] BusCoreModule dependencies initialized +1ms

Ожидаемый результат (необязательно)

Должен произойти запуск микросервиса

$ docker-compose up -d identity-service
$ docker-compose logs --follow identity-service

Attaching to serenity_identity-service_1
identity-service_1  | yarn run v1.22.5
identity-service_1  | $ yarn workspace @identity/service dev
identity-service_1  | $ server-scripts start
identity-service_1  | Compiled with warnings.
identity-service_1  | 
identity-service_1  | /workspace/backend/protos/identity/src/index.ts
identity-service_1  | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
identity-service_1  | 
identity-service_1  | /workspace/backend/protos/common/src/index.ts
identity-service_1  | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
identity-service_1  | 
identity-service_1  | Search for the keywords to learn more about each warning.
identity-service_1  | To ignore, add // eslint-disable-next-line to the line before.
identity-service_1  | 
identity-service_1  | Starting the development server...
identity-service_1  | 
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [NestFactory] Starting Nest application...
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] BusModule dependencies initialized +40ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] TypeOrmModule dependencies initialized +0ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] TypeOrmModule dependencies initialized +1ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] LoggerModule dependencies initialized +0ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] BusCoreModule dependencies initialized +1ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] TypeOrmCoreModule dependencies initialized +69ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] PersistenceModule dependencies initialized +1ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] ApplicationModule dependencies initialized +0ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [InstanceLoader] ServiceModule dependencies initialized +1ms
identity-service_1  | [Nest] 68   - 12/09/2020, 10:13:09 AM   [NestMicroservice] Nest microservice successfully started +4ms

[chore] Actions Unified

Какого рода задача?

Необходимо привести наши экшены к единому виду по всем организациям

Что и где будем менять?

Основные условия:

  • мы не триггерим чеки и билды при изменениях в md, json файлах
  • мы не триггерим чеки и билды при изменениях которые не затрагивают воркспейсы
  • ветка прода master
  • ветка стейджа dev
  • триггеринг происходит только на пры в одну из этих веток
  • паблишинг версии пакетов срабатывает при любом пре в одну из этих веток

К ресёчу:

  • инкрементальный билд
  • перевод пакетов первого порядка на yarn2, опытным путём было выявлено увеличение производительности аж на 60% при переезде на yarn2, элементарный пример - сборка сервиса на yarn и yarn2 - 15 минут против 5, почти в три раза

Укажите референс

https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags - руководство по экшенам
https://buildpacks.io - реализация клауд нейтив билда

Дропдаун поиска

Описание бага

На главной странице http://localhost:3000/

Воспроизведение

Шаги для воспроизведения бага:

  1. docker-compose up site-local
  2. docker-compose up private-gateway
  3. Идем на http://localhost:4001/ - там создаем группы категорий и сами категории:

Создание группы:

mutation CreateCategoryGroup {
  createCategoryGroup(input: { name: "group" }) {
    result {
      id
    }
  }
}

Создание категории:

mutation CreateCategory {
  createCategory(
    input: {
      name: "category"
      groupId: "f31e7945-dbd3-48cd-bc47-d1bfed2838fc"
    }
  ) {
    result {
      id
    }
  }
}
  1. После создание тестовых данных идем на http://localhost:3000/
  2. Ждем пока сфетчатся категории
  3. Вводим что-нибудь в поиск и стираем, чтобы триггернуть дропдаун где отображаются результаты поиска
  4. Видим, что дропдаун не соответствует дизайну

Ожидаемое поведение

Дизайн

Материалы

Screenshot from 2022-05-25 16-22-35

Данные окружения

Cannot find module '/workspace/node_modules/grpc/src/node/extension_binary/node-v88-linux-x64-musl/grpc_node.node'

Запуск public-gateway заканчивается ошибкой (не найден пакет node-v88-linux-x64-musl, yarn компилит и устанавливает node-v79-linux-x64-musl)

$ docker-compose up public-gateway
WARNING: The PUBLIC_GATEWAY_URL variable is not set. Defaulting to a blank string.
WARNING: The GCS_BUCKET variable is not set. Defaulting to a blank string.
Pulling public-gateway (node:alpine)...
alpine: Pulling from library/node
cbdbe7a5bc2a: Pull complete
c36334c36d30: Pull complete
dc731be5fee1: Pull complete
8a23f73dde1a: Pull complete
Digest: sha256:90dfaf5806a607e81cc81b42b474626612c9271eee7a4fc6644ce6299348425a
Status: Downloaded newer image for node:alpine
serenity_traefik_1 is up-to-date
serenity_redis_1 is up-to-date
serenity_db_1 is up-to-date
Creating serenity_cookie-store_1 ... done
serenity_oathkeeper_1 is up-to-date
Creating serenity_public-gateway_1 ... done
Attaching to serenity_public-gateway_1
public-gateway_1    | yarn run v1.22.5
public-gateway_1    | $ yarn workspace @public-gateway/app dev
public-gateway_1    | $ server-scripts start
public-gateway_1    | Compiled with warnings.
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/catalog/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/files/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/identity/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/common/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | Search for the keywords to learn more about each warning.
public-gateway_1    | To ignore, add // eslint-disable-next-line to the line before.
public-gateway_1    | 
public-gateway_1    | Starting the development server...
public-gateway_1    | 
public-gateway_1    | 
public-gateway_1    | /workspace/node_modules/grpc/src/grpc_extension.js:53
public-gateway_1    |     let error = new Error(message);
public-gateway_1    |                 ^node-v88-linux-x64-musl
public-gateway_1    | Error: Failed to load gRPC binary module because it was not installed for the current system
public-gateway_1    | Expected directory: node-v88-linux-x64-musl
public-gateway_1    | Found: [node-v79-linux-x64-musl]
public-gateway_1    | This problem can often be fixed by running "npm rebuild" on the current system
public-gateway_1    | Original error: Cannot find module '/workspace/node_modules/grpc/src/node/extension_binary/node-v88-linux-x64-musl/grpc_node.node'
public-gateway_1    | Require stack:
public-gateway_1    | - /workspace/node_modules/grpc/src/grpc_extension.js
public-gateway_1    | - /workspace/node_modules/grpc/src/client_interceptors.js
public-gateway_1    | - /workspace/node_modules/grpc/src/client.js
public-gateway_1    | - /workspace/node_modules/grpc/index.js
public-gateway_1    | - /workspace/backend/public-gateway/app/dist/index.js
public-gateway_1    |     at Object.<anonymous> (/workspace/node_modules/grpc/src/grpc_extension.js:53:17)
public-gateway_1    |     at Module._compile (node:internal/modules/cjs/loader:1083:30)
public-gateway_1    |     at Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
public-gateway_1    |     at Object.require.extensions.<computed> [as .js] (/workspace/node_modules/ts-node/src/index.ts:523:44)
public-gateway_1    |     at Module.load (node:internal/modules/cjs/loader:948:32)
public-gateway_1    |     at Function.Module._load (node:internal/modules/cjs/loader:789:14)
public-gateway_1    |     at Module.require (node:internal/modules/cjs/loader:972:19)
public-gateway_1    |     at require (node:internal/modules/cjs/helpers:88:18)
public-gateway_1    |     at Object.<anonymous> (/workspace/node_modules/grpc/src/client_interceptors.js:144:12)
public-gateway_1    |     at Module._compile (node:internal/modules/cjs/loader:1083:30)

Реинит флоу регистрации

С чем связан запрос на фичу?

Переписать флоу регистрации на новые либы (identity)

Расскажите как вы это себе видите

  1. Использовать в сервисах kratos-migrate и kratos image oryd/kratos:v0.8.2-alpha.1
  2. Использовать библиотеку @atls/next-identity-integration

docker-compose up identity чтобы поднять фронт идентити

Приложите примеры реализаций

https://github.com/atls/project-starter/tree/master/identity

https://github.com/ilink-pro/web/tree/master/identity

https://github.com/YouThinkResearch/web/tree/master/identity

[task] Предупреждение о не найдемом common.ptoto

Запуск микросерисов сопровожается предупреждением об отсутствии common.proto

docker-compose up -d public-gateway
Attaching to serenity_public-gateway_1
public-gateway_1    | yarn run v1.21.1
public-gateway_1    | $ yarn workspace @public-gateway/app dev
public-gateway_1    | $ server-scripts start
public-gateway_1    | Compiled with warnings.
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/catalog/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/files/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/identity/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | /workspace/backend/protos/common/src/index.ts
public-gateway_1    | Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
public-gateway_1    | 
public-gateway_1    | Search for the keywords to learn more about each warning.
public-gateway_1    | To ignore, add // eslint-disable-next-line to the line before.
public-gateway_1    | 
public-gateway_1    | Starting the development server...
public-gateway_1    | 
public-gateway_1    | [Nest] 66   - 11/01/2020, 9:04:32 PM   [NestFactory] Starting Nest application...
public-gateway_1    | (node:66) ExperimentalWarning: Conditional exports is an experimental feature. This feature could change at any time
public-gateway_1    | [Nest] 66   - 11/01/2020, 9:04:32 PM   [InstanceLoader] IdentityModule dependencies initialized +26ms
public-gateway_1    | [Nest] 66   - 11/01/2020, 9:04:32 PM   [InstanceLoader] CatalogModule dependencies initialized +1ms
public-gateway_1    | [Nest] 66   - 11/01/2020, 9:04:32 PM   [InstanceLoader] FilesModule dependencies initialized +0ms
public-gateway_1    | [Nest] 66   - 11/01/2020, 9:04:32 PM   [InstanceLoader] ApplicationModule dependencies initialized +0ms
public-gateway_1    | [Nest] 66   - 11/01/2020, 9:04:32 PM   [InstanceLoader] GraphQLModule dependencies initialized +1ms
public-gateway_1    | (node:66) Warning: ../common/common.proto not found in any of the include paths /workspace/backend/protos/common/common.proto
public-gateway_1    | (node:66) Warning: ../common/common.proto not found in any of the include paths /workspace/backend/protos/common/common.proto
public-gateway_1    | (node:66) Warning: ../common/common.proto not found in any of the include paths /workspace/backend/protos/common/common.proto
public-gateway_1    | (node:66) Warning: ../common/common.proto not found in any of the include paths /workspace/backend/protos/common/common.proto
public-gateway_1    | (node:66) Warning: ../common/common.proto not found in any of the include paths /workspace/backend/protos/common/common.proto
public-gateway_1    | (node:66) Warning: ../common/common.proto not found in any of the include paths /workspace/backend/protos/common/common.proto
public-gateway_1    | [Nest] 66   - 11/01/2020, 9:04:33 PM   [NestApplication] Nest application successfully started +695ms

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: undefined. Note: this is a nested preset so please contact the preset author if you are unable to fix it yourself.

[feature] Identity

Что делаем?

Сервис идентификации пользователей.

Добавь немного легенды…

backend

  • identity
    • application/src
      • commands
        • RegisterUserCommand
        • CreateProfileCommand
        • AuthenticateUserCommand
        • VerifyEmailCommand
        • UpdateProfileCommand
        • ResetPasswordCommand
        • ChangePasswordCommand
      • constraints
        • isEntity
        • isFieldEqual
      • services
        • UserApplicationService
        • UserQueriesService
    • domain/src
      • events
        • UserRegistered
        • ProfileCreated
        • EmailVerificationRequested
        • EmailVerificationComplete
        • ResetPasswordRequested
        • ResetPasswordComplete
      • model
        • Email
        • Phone
        • Credentials
        • ContactInformation
        • PersonalInformation
        • Photo
        • Profile
        • ProfileType
        • User
    • persistence/src
      • entities
        • Email
        • Phone
        • Credentials
        • ContactInformation
        • PersonalInformation
        • Photo
        • Profile
        • ProfileType
        • User
      • migrations [generated]
      • repositories
        • UserStoreRepository
    • service/src [docker]
      • controllers
        • IdentityController
        • UserQueriesController

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.