atls / serenity Goto Github PK
View Code? Open in Web Editor NEWOpen source marketplace SaaS same as profi.ru or youdo.com inspired by DDD
Home Page: https://serenity.atls.tech
Open source marketplace SaaS same as profi.ru or youdo.com inspired by DDD
Home Page: https://serenity.atls.tech
Внедрить https://github.com/ory/oathkeeper для авторизации/регистрации пользователей.
Флоу с регистрацией должен быть простым как на Avisits.
Надо проверить ПР #136 и обновить зависимости
Переписать флоу логина на новые либы (identity)
https://github.com/atls/project-starter/tree/master/identity
https://github.com/TFK70/banxe-poc/tree/master/identity
https://github.com/YouThinkResearch/web/tree/master/identity
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.
Переписать флоу регистрации на новые либы (identity)
kratos-migrate
и kratos
image oryd/kratos:v0.8.2-alpha.1
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
Сервис идентификации пользователей.
backend
На странице http://localhost:3000/specialists некорректно отображаются разделы
Шаги для воспроизведения бага:
docker-compose up site-local
docker-compose up private-gateway
Создание группы:
mutation CreateCategoryGroup {
createCategoryGroup(input: { name: "group" }) {
result {
id
}
}
}
Создание категории:
mutation CreateCategory {
createCategory(
input: {
name: "category"
groupId: "f31e7945-dbd3-48cd-bc47-d1bfed2838fc"
}
) {
result {
id
}
}
}
Запуск микросерисов сопровожается предупреждением об отсутствии common.proto
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
Запуск микросервисов, имеющих модуль персистентности, останавливается без сообщений об ошибках и завершения работы.
$ 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
Необходимо привести наши экшены к единому виду по всем организациям
Основные условия:
К ресёчу:
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags - руководство по экшенам
https://buildpacks.io - реализация клауд нейтив билда
Запуск 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)
На главной странице http://localhost:3000/
Шаги для воспроизведения бага:
docker-compose up site-local
docker-compose up private-gateway
Создание группы:
mutation CreateCategoryGroup {
createCategoryGroup(input: { name: "group" }) {
result {
id
}
}
}
Создание категории:
mutation CreateCategory {
createCategory(
input: {
name: "category"
groupId: "f31e7945-dbd3-48cd-bc47-d1bfed2838fc"
}
) {
result {
id
}
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.