url değişimi
This commit is contained in:
parent
32a19578cb
commit
3cf85f9bbb
56 changed files with 207 additions and 204 deletions
|
|
@ -17,6 +17,9 @@
|
||||||
`dotnet ef migrations remove`
|
`dotnet ef migrations remove`
|
||||||
`dotnet ef database update "20240822114716_ABP_822"`
|
`dotnet ef database update "20240822114716_ABP_822"`
|
||||||
|
|
||||||
|
- SQL Veritabanını Entity Class oluştur.
|
||||||
|
`dotnet ef dbcontext scaffold "Server=SERVERNAME;Database=DBNAME;User ID=USERNAME;Password=PASSWORD;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer --context MyDbContext --output-dir Models --data-annotations --force`
|
||||||
|
|
||||||
# Public Api
|
# Public Api
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -25,7 +28,7 @@ POST /connect/token HTTP/1.1
|
||||||
Host: localhost:44344
|
Host: localhost:44344
|
||||||
Content-Type: application/x-www-form-urlencoded
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
username=sedat%40kadifeteks.com
|
username=system%40sozsoft.com
|
||||||
&password=...
|
&password=...
|
||||||
&grant_type=password
|
&grant_type=password
|
||||||
&client_id=Platform_PublicApi
|
&client_id=Platform_PublicApi
|
||||||
|
|
@ -36,7 +39,7 @@ username=sedat%40kadifeteks.com
|
||||||
|
|
||||||
- Normal facebook üyeliği yapılır.
|
- Normal facebook üyeliği yapılır.
|
||||||
- https://developers.facebook.com/ sitesinden yeni developer üyeliği oluşturulur. Developer üyeliği seçilir.
|
- https://developers.facebook.com/ sitesinden yeni developer üyeliği oluşturulur. Developer üyeliği seçilir.
|
||||||
- CreateApp butonu ile yeni uygulama oluşturulur. Uygulama adı belirlenir. 'Sozsoft Messenger'
|
- CreateApp butonu ile yeni uygulama oluşturulur. Uygulama adı belirlenir. 'Kurs Messenger'
|
||||||
- AppType olarak İşletme seçilir ve App oluşturulur.
|
- AppType olarak İşletme seçilir ve App oluşturulur.
|
||||||
- Add Products kısmında WhatsApp seçilir ve Business Account oluşturulur.
|
- Add Products kısmında WhatsApp seçilir ve Business Account oluşturulur.
|
||||||
- 3 noktadan (menüden) WhatsApp Manager sayfasına gidilir. Manage Templates seçilir, istenirse yeni template oluşturulur. 'hello_world'
|
- 3 noktadan (menüden) WhatsApp Manager sayfasına gidilir. Manage Templates seçilir, istenirse yeni template oluşturulur. 'hello_world'
|
||||||
|
|
|
||||||
|
|
@ -209,7 +209,7 @@ POST /connect/token HTTP/1.1
|
||||||
Host: localhost:44344
|
Host: localhost:44344
|
||||||
Content-Type: application/x-www-form-urlencoded
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
username=sedat%40kadifeteks.com
|
username=system%40sozsoft.com
|
||||||
&password=...
|
&password=...
|
||||||
&grant_type=password
|
&grant_type=password
|
||||||
&client_id=Platform_PublicApi
|
&client_id=Platform_PublicApi
|
||||||
|
|
@ -257,8 +257,8 @@ string Params = [
|
||||||
]
|
]
|
||||||
string Sql -> SELECT * FROM VSatislar WHERE MusteriId = @MusteriId AND StartDate >= @StartDate
|
string Sql -> SELECT * FROM VSatislar WHERE MusteriId = @MusteriId AND StartDate >= @StartDate
|
||||||
string Permissions = [
|
string Permissions = [
|
||||||
|
{ ResourceType: 'User', ResourceId: 'system' },
|
||||||
{ ResourceType: 'User', ResourceId: 'sedat' },
|
{ ResourceType: 'User', ResourceId: 'sedat' },
|
||||||
{ ResourceType: 'User', ResourceId: 'vedat' },
|
|
||||||
]
|
]
|
||||||
|
|
||||||
Query Parameter
|
Query Parameter
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
|
||||||
var lookupQueryLanguage = $"SELECT \"{DbTablePrefix}LanguageKey\".\"Key\", CONCAT(\"{DbTablePrefix}LanguageKey\".\"Key\", ' (', \"{DbTablePrefix}LanguageText\".\"Value\", ')') AS \"Name\" FROM \"{DbTablePrefix}LanguageKey\" LEFT OUTER JOIN \"{DbTablePrefix}LanguageText\" ON \"{DbTablePrefix}LanguageKey\".\"Key\" = \"{DbTablePrefix}LanguageText\".\"Key\" AND \"{DbTablePrefix}LanguageKey\".\"ResourceName\" = \"{DbTablePrefix}LanguageText\".\"ResourceName\" WHERE \"{DbTablePrefix}LanguageKey\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"CultureName\" = 'tr' ORDER BY \"{DbTablePrefix}LanguageKey\".\"Key\";";
|
var lookupQueryLanguage = $"SELECT \"{DbTablePrefix}LanguageKey\".\"Key\", CONCAT(\"{DbTablePrefix}LanguageKey\".\"Key\", ' (', \"{DbTablePrefix}LanguageText\".\"Value\", ')') AS \"Name\" FROM \"{DbTablePrefix}LanguageKey\" LEFT OUTER JOIN \"{DbTablePrefix}LanguageText\" ON \"{DbTablePrefix}LanguageKey\".\"Key\" = \"{DbTablePrefix}LanguageText\".\"Key\" AND \"{DbTablePrefix}LanguageKey\".\"ResourceName\" = \"{DbTablePrefix}LanguageText\".\"ResourceName\" WHERE \"{DbTablePrefix}LanguageKey\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"CultureName\" = 'tr' ORDER BY \"{DbTablePrefix}LanguageKey\".\"Key\";";
|
||||||
var lookupQueryCulture = $"SELECT \"CultureName\" AS \"Key\", \"DisplayName\" AS \"Name\", \"CreationTime\" FROM \"{DbTablePrefix}Language\" WHERE \"IsEnabled\" = 'true' and \"IsDeleted\" = 'false'";
|
var lookupQueryCulture = $"SELECT \"CultureName\" AS \"Key\", \"DisplayName\" AS \"Name\", \"CreationTime\" FROM \"{DbTablePrefix}Language\" WHERE \"IsEnabled\" = 'true' and \"IsDeleted\" = 'false'";
|
||||||
|
|
||||||
var adminUser = _identityUserManager.FindByNameAsync("admin");
|
var adminUser = _identityUserManager.FindByNameAsync(PlatformConsts.AbpIdentity.User.AdminEmailDefaultValue);
|
||||||
|
|
||||||
string roleId = null;
|
string roleId = null;
|
||||||
string userId = null;
|
string userId = null;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public class NotificationRuleSeeder : IDataSeedContributor, ITransientDependency
|
||||||
new() {
|
new() {
|
||||||
NotificationType = NotificationTypes.YeniSiparis,
|
NotificationType = NotificationTypes.YeniSiparis,
|
||||||
RecipientType = NotificationRecipientTypes.Role,
|
RecipientType = NotificationRecipientTypes.Role,
|
||||||
RecipientId = "admin",
|
RecipientId = PlatformConsts.AbpIdentity.User.AdminRoleName,
|
||||||
Channel = NotificationChannels.UiActivity,
|
Channel = NotificationChannels.UiActivity,
|
||||||
IsActive = true,
|
IsActive = true,
|
||||||
IsFixed = false,
|
IsFixed = false,
|
||||||
|
|
@ -36,7 +36,7 @@ public class NotificationRuleSeeder : IDataSeedContributor, ITransientDependency
|
||||||
new() {
|
new() {
|
||||||
NotificationType = NotificationTypes.SiparisPasla,
|
NotificationType = NotificationTypes.SiparisPasla,
|
||||||
RecipientType = NotificationRecipientTypes.Role,
|
RecipientType = NotificationRecipientTypes.Role,
|
||||||
RecipientId = "admin",
|
RecipientId = PlatformConsts.AbpIdentity.User.AdminRoleName,
|
||||||
Channel = NotificationChannels.Desktop,
|
Channel = NotificationChannels.Desktop,
|
||||||
IsActive = true,
|
IsActive = true,
|
||||||
IsFixed = false,
|
IsFixed = false,
|
||||||
|
|
@ -45,7 +45,7 @@ public class NotificationRuleSeeder : IDataSeedContributor, ITransientDependency
|
||||||
new() {
|
new() {
|
||||||
NotificationType = NotificationTypes.YeniKullanici,
|
NotificationType = NotificationTypes.YeniKullanici,
|
||||||
RecipientType = NotificationRecipientTypes.Role,
|
RecipientType = NotificationRecipientTypes.Role,
|
||||||
RecipientId = "admin",
|
RecipientId = PlatformConsts.AbpIdentity.User.AdminRoleName,
|
||||||
Channel = NotificationChannels.Rocket,
|
Channel = NotificationChannels.Rocket,
|
||||||
IsActive = true,
|
IsActive = true,
|
||||||
IsFixed = false,
|
IsFixed = false,
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ public class PlatformIdentityDataSeeder : IdentityDataSeeder
|
||||||
|
|
||||||
adminUser.SetEmailConfirmed(true);
|
adminUser.SetEmailConfirmed(true);
|
||||||
adminUser.SetIsVerified(true);
|
adminUser.SetIsVerified(true);
|
||||||
adminUser.SetRocketUsername("sedat.ozturk");
|
adminUser.SetRocketUsername(PlatformConsts.AbpIdentity.User.AdminEmailDefaultValue);
|
||||||
adminUser.SetPhoneNumber(PlatformConsts.AbpIdentity.User.AdminPhoneNumberDefaultValue, true);
|
adminUser.SetPhoneNumber(PlatformConsts.AbpIdentity.User.AdminPhoneNumberDefaultValue, true);
|
||||||
|
|
||||||
(await UserManager.CreateAsync(adminUser, adminPassword, validatePassword: false)).CheckErrors();
|
(await UserManager.CreateAsync(adminUser, adminPassword, validatePassword: false)).CheckErrors();
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
{
|
{
|
||||||
"code": "Default",
|
"code": "Default",
|
||||||
"dataSourceType": 2,
|
"dataSourceType": 2,
|
||||||
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
|
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
{
|
{
|
||||||
"code": "Default",
|
"code": "Default",
|
||||||
"dataSourceType": 2,
|
"dataSourceType": 2,
|
||||||
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
|
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4080,7 +4080,7 @@
|
||||||
{
|
{
|
||||||
"code": "Default",
|
"code": "Default",
|
||||||
"dataSourceType": 2,
|
"dataSourceType": 2,
|
||||||
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Platform;"
|
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Demo;"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "KIM",
|
"code": "KIM",
|
||||||
|
|
@ -4191,7 +4191,7 @@
|
||||||
"code": "App.SiteManagement.General.NewMemberNotificationEmails",
|
"code": "App.SiteManagement.General.NewMemberNotificationEmails",
|
||||||
"nameKey": "App.SiteManagement.General.NewMemberNotificationEmails",
|
"nameKey": "App.SiteManagement.General.NewMemberNotificationEmails",
|
||||||
"descriptionKey": "App.SiteManagement.General.NewMemberNotificationEmails.Description",
|
"descriptionKey": "App.SiteManagement.General.NewMemberNotificationEmails.Description",
|
||||||
"defaultValue": "sedat@sozsoft.com",
|
"defaultValue": "system@sozsoft.com",
|
||||||
"isVisibleToClients": false,
|
"isVisibleToClients": false,
|
||||||
"providers": ["G", "D"],
|
"providers": ["G", "D"],
|
||||||
"isInherited": false,
|
"isInherited": false,
|
||||||
|
|
@ -4207,7 +4207,7 @@
|
||||||
"code": "App.SiteManagement.General.TimedLoginEmails",
|
"code": "App.SiteManagement.General.TimedLoginEmails",
|
||||||
"nameKey": "App.SiteManagement.General.TimedLoginEmails",
|
"nameKey": "App.SiteManagement.General.TimedLoginEmails",
|
||||||
"descriptionKey": "App.SiteManagement.General.TimedLoginEmails.Description",
|
"descriptionKey": "App.SiteManagement.General.TimedLoginEmails.Description",
|
||||||
"defaultValue": "sedat@sozsoft.com",
|
"defaultValue": "system@sozsoft.com",
|
||||||
"isVisibleToClients": false,
|
"isVisibleToClients": false,
|
||||||
"providers": ["G", "D"],
|
"providers": ["G", "D"],
|
||||||
"isInherited": false,
|
"isInherited": false,
|
||||||
|
|
@ -4335,7 +4335,7 @@
|
||||||
"code": "App.Sender.Rocket.Url",
|
"code": "App.Sender.Rocket.Url",
|
||||||
"nameKey": "App.Sender.Rocket.Url",
|
"nameKey": "App.Sender.Rocket.Url",
|
||||||
"descriptionKey": "App.Sender.Rocket.Url.Description",
|
"descriptionKey": "App.Sender.Rocket.Url.Description",
|
||||||
"defaultValue": "https://chat.sozsoft.net/api/v1",
|
"defaultValue": "https://chat.sozsoft.com/api/v1",
|
||||||
"isVisibleToClients": false,
|
"isVisibleToClients": false,
|
||||||
"providers": ["G", "D", "T"],
|
"providers": ["G", "D", "T"],
|
||||||
"isInherited": false,
|
"isInherited": false,
|
||||||
|
|
@ -4399,7 +4399,7 @@
|
||||||
"code": "Abp.Mailing.DefaultFromAddress",
|
"code": "Abp.Mailing.DefaultFromAddress",
|
||||||
"nameKey": "Abp.Mailing.DefaultFromAddress",
|
"nameKey": "Abp.Mailing.DefaultFromAddress",
|
||||||
"descriptionKey": "Abp.Mailing.DefaultFromAddress.Description",
|
"descriptionKey": "Abp.Mailing.DefaultFromAddress.Description",
|
||||||
"defaultValue": "sedat@sozsoft.com",
|
"defaultValue": "system@sozsoft.com",
|
||||||
"isVisibleToClients": false,
|
"isVisibleToClients": false,
|
||||||
"providers": ["G", "D", "T"],
|
"providers": ["G", "D", "T"],
|
||||||
"isInherited": false,
|
"isInherited": false,
|
||||||
|
|
@ -4415,7 +4415,7 @@
|
||||||
"code": "Abp.Mailing.Smtp.UserName",
|
"code": "Abp.Mailing.Smtp.UserName",
|
||||||
"nameKey": "Abp.Mailing.Smtp.UserName",
|
"nameKey": "Abp.Mailing.Smtp.UserName",
|
||||||
"descriptionKey": "Abp.Mailing.Smtp.UserName.Description",
|
"descriptionKey": "Abp.Mailing.Smtp.UserName.Description",
|
||||||
"defaultValue": "sedat@sozsoft.com",
|
"defaultValue": "system@sozsoft.com",
|
||||||
"isVisibleToClients": false,
|
"isVisibleToClients": false,
|
||||||
"providers": ["G", "D", "T"],
|
"providers": ["G", "D", "T"],
|
||||||
"isInherited": false,
|
"isInherited": false,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
||||||
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
|
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"IsEnabled": "true",
|
"IsEnabled": "true",
|
||||||
|
|
@ -12,21 +12,21 @@
|
||||||
"Platform_Web": {
|
"Platform_Web": {
|
||||||
"ClientId": "Platform_Web",
|
"ClientId": "Platform_Web",
|
||||||
"ClientSecret": "1q2w3e*",
|
"ClientSecret": "1q2w3e*",
|
||||||
"RootUrl": "https://platform-dev-api.sozsoft.net"
|
"RootUrl": "https://platform-dev-api.sozsoft.com"
|
||||||
},
|
},
|
||||||
"Platform_App": {
|
"Platform_App": {
|
||||||
"ClientId": "Platform_App",
|
"ClientId": "Platform_App",
|
||||||
"RootUrl": "https://platform-dev.sozsoft.net",
|
"RootUrl": "https://platform-dev.sozsoft.com",
|
||||||
"TokenLifeTime": 2,
|
"TokenLifeTime": 2,
|
||||||
"RefreshTokenLifeTime": 8760
|
"RefreshTokenLifeTime": 8760
|
||||||
},
|
},
|
||||||
"Platform_Swagger": {
|
"Platform_Swagger": {
|
||||||
"ClientId": "Platform_Swagger",
|
"ClientId": "Platform_Swagger",
|
||||||
"RootUrl": "https://platform-dev-api.sozsoft.net"
|
"RootUrl": "https://platform-dev-api.sozsoft.com"
|
||||||
},
|
},
|
||||||
"Platform_PublicApi": {
|
"Platform_PublicApi": {
|
||||||
"ClientId": "Platform_PublicApi",
|
"ClientId": "Platform_PublicApi",
|
||||||
"RootUrl": "https://platform-dev.sozsoft.net",
|
"RootUrl": "https://platform-dev.sozsoft.com",
|
||||||
"TokenLifeTime": 2,
|
"TokenLifeTime": 2,
|
||||||
"RefreshTokenLifeTime": 8760
|
"RefreshTokenLifeTime": 8760
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
||||||
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
|
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"IsEnabled": "true",
|
"IsEnabled": "true",
|
||||||
|
|
@ -12,21 +12,21 @@
|
||||||
"Platform_Web": {
|
"Platform_Web": {
|
||||||
"ClientId": "Platform_Web",
|
"ClientId": "Platform_Web",
|
||||||
"ClientSecret": "1q2w3e*",
|
"ClientSecret": "1q2w3e*",
|
||||||
"RootUrl": "https://platform-api.sozsoft.net"
|
"RootUrl": "https://platform-api.sozsoft.com"
|
||||||
},
|
},
|
||||||
"Platform_App": {
|
"Platform_App": {
|
||||||
"ClientId": "Platform_App",
|
"ClientId": "Platform_App",
|
||||||
"RootUrl": "https://platform.sozsoft.net",
|
"RootUrl": "https://platform.sozsoft.com",
|
||||||
"TokenLifeTime": 2,
|
"TokenLifeTime": 2,
|
||||||
"RefreshTokenLifeTime": 8760
|
"RefreshTokenLifeTime": 8760
|
||||||
},
|
},
|
||||||
"Platform_Swagger": {
|
"Platform_Swagger": {
|
||||||
"ClientId": "Platform_Swagger",
|
"ClientId": "Platform_Swagger",
|
||||||
"RootUrl": "https://platform-api.sozsoft.net"
|
"RootUrl": "https://platform-api.sozsoft.com"
|
||||||
},
|
},
|
||||||
"Platform_PublicApi": {
|
"Platform_PublicApi": {
|
||||||
"ClientId": "Platform_PublicApi",
|
"ClientId": "Platform_PublicApi",
|
||||||
"RootUrl": "https://platform.sozsoft.net",
|
"RootUrl": "https://platform.sozsoft.com",
|
||||||
"TokenLifeTime": 2,
|
"TokenLifeTime": 2,
|
||||||
"RefreshTokenLifeTime": 8760
|
"RefreshTokenLifeTime": 8760
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"Seed": false,
|
"Seed": false,
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
// "Default": "Server=localhost;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
// "Default": "Server=localhost;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
||||||
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Platform;"
|
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Demo;"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"IsEnabled": "true",
|
"IsEnabled": "true",
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ public static class PlatformConsts
|
||||||
public const string AdminRoleName = "admin";
|
public const string AdminRoleName = "admin";
|
||||||
public const string AdminNameDefaultValue = "Sedat";
|
public const string AdminNameDefaultValue = "Sedat";
|
||||||
public const string AdminSurNameDefaultValue = "ÖZTÜRK";
|
public const string AdminSurNameDefaultValue = "ÖZTÜRK";
|
||||||
public const string AdminEmailDefaultValue = "sedat@sozsoft.com";
|
public const string AdminEmailDefaultValue = "system@sozsoft.com";
|
||||||
public const string AdminPasswordDefaultValue = "1q2w3E*";
|
public const string AdminPasswordDefaultValue = "1q2w3E*";
|
||||||
public const string AdminPhoneNumberDefaultValue = "05449476346";
|
public const string AdminPhoneNumberDefaultValue = "05449476346";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
{
|
{
|
||||||
"App": {
|
"App": {
|
||||||
"SelfUrl": "https://platform-dev-api.sozsoft.net",
|
"SelfUrl": "https://platform-dev-api.sozsoft.com",
|
||||||
"ClientUrl": "https://platform-dev.sozsoft.net",
|
"ClientUrl": "https://platform-dev.sozsoft.com",
|
||||||
"CorsOrigins": "https://platform-dev.sozsoft.net",
|
"CorsOrigins": "https://platform-dev.sozsoft.com",
|
||||||
"RedirectAllowedUrls": "https://platform-dev.sozsoft.net,https://platform-dev.sozsoft.net/authentication/callback",
|
"RedirectAllowedUrls": "https://platform-dev.sozsoft.com,https://platform-dev.sozsoft.com/authentication/callback",
|
||||||
"AttachmentsPath": "/etc/api/mail-queue/attachments",
|
"AttachmentsPath": "/etc/api/mail-queue/attachments",
|
||||||
"CdnPath": "/etc/api/cdn"
|
"CdnPath": "/etc/api/cdn"
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
||||||
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
|
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"IsEnabled": "true",
|
"IsEnabled": "true",
|
||||||
"Configuration": "redis:6379,abortConnect=false,connectTimeout=30000,responseTimeout=30000"
|
"Configuration": "redis:6379,abortConnect=false,connectTimeout=30000,responseTimeout=30000"
|
||||||
},
|
},
|
||||||
"AuthServer": {
|
"AuthServer": {
|
||||||
"Authority": "https://platform-dev-api.sozsoft.net",
|
"Authority": "https://platform-dev-api.sozsoft.com",
|
||||||
"RequireHttpsMetadata": false,
|
"RequireHttpsMetadata": false,
|
||||||
"SwaggerClientId": "Platform_Swagger"
|
"SwaggerClientId": "Platform_Swagger"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
{
|
{
|
||||||
"App": {
|
"App": {
|
||||||
"SelfUrl": "https://platform-api.sozsoft.net",
|
"SelfUrl": "https://platform-api.sozsoft.com",
|
||||||
"ClientUrl": "https://platform.sozsoft.net",
|
"ClientUrl": "https://platform.sozsoft.com",
|
||||||
"CorsOrigins": "https://platform.sozsoft.net",
|
"CorsOrigins": "https://platform.sozsoft.com",
|
||||||
"RedirectAllowedUrls": "https://platform.sozsoft.net,https://platform.sozsoft.net/authentication/callback",
|
"RedirectAllowedUrls": "https://platform.sozsoft.com,https://platform.sozsoft.com/authentication/callback",
|
||||||
"AttachmentsPath": "/etc/api/mail-queue/attachments",
|
"AttachmentsPath": "/etc/api/mail-queue/attachments",
|
||||||
"CdnPath": "/etc/api/cdn"
|
"CdnPath": "/etc/api/cdn"
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
// "Default": "Server=sql;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
// "Default": "Server=sql;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
||||||
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Platform;"
|
"Default": "User ID=sa;Password=NvQp8s@l;Host=postgres;Port=5432;Database=Demo;"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"IsEnabled": "true",
|
"IsEnabled": "true",
|
||||||
"Configuration": "redis:6379,abortConnect=false,connectTimeout=30000,responseTimeout=30000"
|
"Configuration": "redis:6379,abortConnect=false,connectTimeout=30000,responseTimeout=30000"
|
||||||
},
|
},
|
||||||
"AuthServer": {
|
"AuthServer": {
|
||||||
"Authority": "https://platform-api.sozsoft.net",
|
"Authority": "https://platform-api.sozsoft.com",
|
||||||
"RequireHttpsMetadata": false,
|
"RequireHttpsMetadata": false,
|
||||||
"SwaggerClientId": "Platform_Swagger"
|
"SwaggerClientId": "Platform_Swagger"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,13 @@
|
||||||
"ClientUrl": "http://localhost:3000",
|
"ClientUrl": "http://localhost:3000",
|
||||||
"CorsOrigins": "http://localhost,http://localhost:3000,http://localhost:4200,http://localhost:5173",
|
"CorsOrigins": "http://localhost,http://localhost:3000,http://localhost:4200,http://localhost:5173",
|
||||||
"RedirectAllowedUrls": "http://localhost:4200,http://localhost:4200/authentication/callback",
|
"RedirectAllowedUrls": "http://localhost:4200,http://localhost:4200/authentication/callback",
|
||||||
"AttachmentsPath": "C:\\Projects\\kurs\\kurs-platform\\configs\\mail-queue\\attachments",
|
"AttachmentsPath": "C:\\Private\\Projects\\kurs-platform\\configs\\mail-queue\\attachments",
|
||||||
"CdnPath": "C:\\Projects\\kurs\\kurs-platform\\configs\\docker\\data\\cdn",
|
"CdnPath": "C:\\Private\\Projects\\kurs-platform\\configs\\docker\\data\\cdn",
|
||||||
"Version": "1.0.4"
|
"Version": "1.0.4"
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
// "Default": "Server=localhost;Database=Platform;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
// "Default": "Server=localhost;Database=Demo;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;"
|
||||||
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Platform;"
|
"Default": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=Demo;"
|
||||||
},
|
},
|
||||||
"Redis": {
|
"Redis": {
|
||||||
"IsEnabled": "true",
|
"IsEnabled": "true",
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@ public class DynamicDataRepository_Tests : PlatformEntityFrameworkCoreTestBase
|
||||||
{
|
{
|
||||||
private readonly DbContext _context;
|
private readonly DbContext _context;
|
||||||
private readonly DbContext _context2;
|
private readonly DbContext _context2;
|
||||||
private readonly string ConnectionString = "Server=localhost;Database=PlatformTests;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
|
private readonly string ConnectionString = "Server=localhost;Database=DemoTests;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
|
||||||
private readonly string ConnectionString2 = "Server=localhost;Database=PlatformTests2;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
|
private readonly string ConnectionString2 = "Server=localhost;Database=DemoTests2;User Id=sa;password=NvQp8s@l;Trusted_Connection=False;TrustServerCertificate=True;";
|
||||||
|
|
||||||
public DynamicDataRepository_Tests()
|
public DynamicDataRepository_Tests()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -19,19 +19,19 @@ Host PlatformProd
|
||||||
# 2. Altyapı
|
# 2. Altyapı
|
||||||
|
|
||||||
1. DevOps
|
1. DevOps
|
||||||
- devops.sozsoft.net
|
- devops.sozsoft.com
|
||||||
- 192.168.1.6
|
- 192.168.1.6
|
||||||
- kurs:ChatR+...
|
- kurs:ChatR+...
|
||||||
1. Dev
|
1. Dev
|
||||||
- platform-dev-cdn.sozsoft.net
|
- platform-dev-cdn.sozsoft.com
|
||||||
- platform-dev-api.sozsoft.net
|
- platform-dev-api.sozsoft.com
|
||||||
- platform-dev.sozsoft.net
|
- platform-dev.sozsoft.com
|
||||||
- 192.168.1.106
|
- 192.168.1.106
|
||||||
- kurs:ChatR+...
|
- kurs:ChatR+...
|
||||||
1. Prod
|
1. Prod
|
||||||
- platform-cdn.sozsoft.net
|
- platform-cdn.sozsoft.com
|
||||||
- platform-api.sozsoft.net
|
- platform-api.sozsoft.com
|
||||||
- platform.sozsoft.net
|
- platform.sozsoft.com
|
||||||
- 192.168.1.137
|
- 192.168.1.137
|
||||||
- kurs:ChatR+...
|
- kurs:ChatR+...
|
||||||
|
|
||||||
|
|
@ -63,22 +63,22 @@ Buradaki maddeler tüm makinalarda başlangıçta yapılır.
|
||||||
|
|
||||||
## 3.3. Sertifika alma
|
## 3.3. Sertifika alma
|
||||||
|
|
||||||
certbot ile otomatik sertifika bu şekilde alınıyor. Ancak 3 ayda bir aşağıdaki komutları manuel çalıştırıp üretilen txt yi DNS sozsoft.net domaine eklememiz gerekiyor. Bu işlemi otomatize edilebilecek şekilde reha bey ile görüşülecektir.
|
certbot ile otomatik sertifika bu şekilde alınıyor. Ancak 3 ayda bir aşağıdaki komutları manuel çalıştırıp üretilen txt yi DNS sozsoft.com domaine eklememiz gerekiyor. Bu işlemi otomatize edilebilecek şekilde reha bey ile görüşülecektir.
|
||||||
```
|
```
|
||||||
sudo apt-get remove certbot
|
sudo apt-get remove certbot
|
||||||
sudo snap install --classic certbot
|
sudo snap install --classic certbot
|
||||||
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
||||||
sudo certbot certonly --manual --preferred-challenges=dns --email sedat@sozsoft.com --agree-tos -d sozsoft.net -d *.sozsoft.net
|
sudo certbot certonly --manual --preferred-challenges=dns --email system@sozsoft.com --agree-tos -d sozsoft.com -d *.sozsoft.com
|
||||||
|
|
||||||
sudo su
|
sudo su
|
||||||
cd /etc/letsencrypt/archive
|
cd /etc/letsencrypt/archive
|
||||||
chgrp docker -R sozsoft.net
|
chgrp docker -R sozsoft.com
|
||||||
chown kurs -R sozsoft.net
|
chown kurs -R sozsoft.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Sertifika ortam makinalarına manuel olarak kopyalanır
|
Sertifika ortam makinalarına manuel olarak kopyalanır
|
||||||
|
|
||||||
- DevOps makinasından sertifikalar indirilir (indirmek için sudo su, cp -R /etc/letsencrypt/archive/sozsoft.net /home/kurs)
|
- DevOps makinasından sertifikalar indirilir (indirmek için sudo su, cp -R /etc/letsencrypt/archive/sozsoft.com /home/kurs)
|
||||||
- Ortam makinasına /home/kurs klasörüne yüklenir
|
- Ortam makinasına /home/kurs klasörüne yüklenir
|
||||||
|
|
||||||
# 4. DevOps Makina Kurulumu
|
# 4. DevOps Makina Kurulumu
|
||||||
|
|
@ -102,7 +102,7 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
|
||||||
"uuid": "8407f0f8-f296-46af-adba-5ee88ffdfccd",
|
"uuid": "8407f0f8-f296-46af-adba-5ee88ffdfccd",
|
||||||
"name": "devops",
|
"name": "devops",
|
||||||
"token": "39f9af97febdd8ea131a3a65c4710e7682a79635",
|
"token": "39f9af97febdd8ea131a3a65c4710e7682a79635",
|
||||||
"address": "https://devops.sozsoft.net",
|
"address": "https://devops.sozsoft.com",
|
||||||
"labels": ["devops:docker://code.forgejo.org/oci/alpine:3"]
|
"labels": ["devops:docker://code.forgejo.org/oci/alpine:3"]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
@ -118,7 +118,7 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
|
||||||
- daemon.json ~/forgejo-runner klasörüne kopyalanmalı
|
- daemon.json ~/forgejo-runner klasörüne kopyalanmalı
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"insecure-registries": ["devops.sozsoft.net"]
|
"insecure-registries": ["devops.sozsoft.com"]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
- ardından docker-compose-forgejo-runner.yml içerisine docker-in-docker kısmına şu volume eklenmeli
|
- ardından docker-compose-forgejo-runner.yml içerisine docker-in-docker kısmına şu volume eklenmeli
|
||||||
|
|
@ -131,8 +131,8 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
|
||||||
```ini
|
```ini
|
||||||
[server]
|
[server]
|
||||||
APP_DATA_PATH = /data/gitea
|
APP_DATA_PATH = /data/gitea
|
||||||
DOMAIN = devops.sozsoft.net
|
DOMAIN = devops.sozsoft.com
|
||||||
SSH_DOMAIN = devops.sozsoft.net
|
SSH_DOMAIN = devops.sozsoft.com
|
||||||
DISABLE_SSH = false
|
DISABLE_SSH = false
|
||||||
SSH_PORT = 222
|
SSH_PORT = 222
|
||||||
SSH_LISTEN_PORT = 22
|
SSH_LISTEN_PORT = 22
|
||||||
|
|
@ -141,7 +141,7 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
|
||||||
OFFLINE_MODE = true
|
OFFLINE_MODE = true
|
||||||
PROTOCOL=https
|
PROTOCOL=https
|
||||||
HTTP_PORT = 443
|
HTTP_PORT = 443
|
||||||
ROOT_URL = https://devops.sozsoft.net/
|
ROOT_URL = https://devops.sozsoft.com/
|
||||||
CERT_FILE = /etc/ssl/cert1.pem
|
CERT_FILE = /etc/ssl/cert1.pem
|
||||||
KEY_FILE = /etc/ssl/privkey1.pem
|
KEY_FILE = /etc/ssl/privkey1.pem
|
||||||
```
|
```
|
||||||
|
|
@ -151,27 +151,27 @@ DevOps platformu olarak, Forgejo, Gitea, OneDev, Harness gibi alternatifler değ
|
||||||
- Base image build ve push
|
- Base image build ve push
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker build -t devops.sozsoft.net/sozsoft/base-image:latest -f Kurs.WorkflowBaseImage.Dockerfile .
|
docker build -t devops.sozsoft.com/kurs/base-image:latest -f Kurs.WorkflowBaseImage.Dockerfile .
|
||||||
docker push devops.sozsoft.net/sozsoft/base-image:latest
|
docker push devops.sozsoft.com/kurs/base-image:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.net`
|
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.com`
|
||||||
|
|
||||||
- Git kurulumu
|
- Git kurulumu
|
||||||
- Aşağıdaki komut ile SSH anahtarı oluşturulur. Passphrase boş geçilerek oluşturulabilir.
|
- Aşağıdaki komut ile SSH anahtarı oluşturulur. Passphrase boş geçilerek oluşturulabilir.
|
||||||
```sh
|
```sh
|
||||||
cd ~/
|
cd ~/
|
||||||
ssh-keygen -t ed25519 -C "platformdev/prod@sozsoft.net"
|
ssh-keygen -t ed25519 -C "platformdev/prod@sozsoft.com"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Yukarıdaki komutun çıktısı olan ".pub" dosyasıdır. Bu dosyanın içeriği devops.sozsoft.net repository nin Deploy key sekmesine eklenir.
|
- Yukarıdaki komutun çıktısı olan ".pub" dosyasıdır. Bu dosyanın içeriği devops.sozsoft.com repository nin Deploy key sekmesine eklenir.
|
||||||
`cat ~/.ssh/id_ed25519.pub`
|
`cat ~/.ssh/id_ed25519.pub`
|
||||||
|
|
||||||
- https://devops.sozsoft.net/Sozsoft/kurs-platform/settings/keys kısmına Add New Key diyerek yapıştırılır.
|
- https://devops.sozsoft.com/Kurs/kurs-platform/settings/keys kısmına Add New Key diyerek yapıştırılır.
|
||||||
|
|
||||||
- Aşağıdaki komutlar sırasıyla çalıştırılır.
|
- Aşağıdaki komutlar sırasıyla çalıştırılır.
|
||||||
```sh
|
```sh
|
||||||
git clone ssh://git@devops.sozsoft.net:222/Sozsoft/kurs-platform.git
|
git clone ssh://git@devops.sozsoft.com:222/Kurs/kurs-platform.git
|
||||||
git config http.sslVerify false # Eğer lazım olursa kullanılabilir
|
git config http.sslVerify false # Eğer lazım olursa kullanılabilir
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -188,7 +188,7 @@ docker push devops.sozsoft.net/sozsoft/base-image:latest
|
||||||
# CERT_FILE = /etc/ssl/cert1.pem
|
# CERT_FILE = /etc/ssl/cert1.pem
|
||||||
# KEY_FILE = /etc/ssl/privkey1.pem
|
# KEY_FILE = /etc/ssl/privkey1.pem
|
||||||
```
|
```
|
||||||
- Kurulumdan sonra default olarak Starter Plan ile başlıyor. https://chat.sozsoft.net/admin/subscription adresine giderek "Cancel Subscription"a basılmalı, böylece Community Edition kullanılamya başlanacaktır.
|
- Kurulumdan sonra default olarak Starter Plan ile başlıyor. https://chat.sozsoft.com/admin/subscription adresine giderek "Cancel Subscription"a basılmalı, böylece Community Edition kullanılamya başlanacaktır.
|
||||||
- Setup Wizard'da admin kullanıcı olarak sedat.ozturk ve 1q... parolası seçilmiştir.
|
- Setup Wizard'da admin kullanıcı olarak sedat.ozturk ve 1q... parolası seçilmiştir.
|
||||||
|
|
||||||
# 5. Dev - Prod Ortam Makinaları Kurulumu
|
# 5. Dev - Prod Ortam Makinaları Kurulumu
|
||||||
|
|
@ -199,7 +199,7 @@ Yeni bir ortam makina kurulumunda bir defaya mahsus yapılacaktır.
|
||||||
- docker-compose-dev/production.yml dosyası hazırlanır.
|
- docker-compose-dev/production.yml dosyası hazırlanır.
|
||||||
- ui için env.dev/production hazırlanır.
|
- ui için env.dev/production hazırlanır.
|
||||||
- Yukarıda **Git Kurulumu** maddesinde adımlar izlenir.
|
- Yukarıda **Git Kurulumu** maddesinde adımlar izlenir.
|
||||||
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.net`
|
- Docker login işlemi "bot" kullanıcı ile yapılır. SSH yapılır. `docker login devops.sozsoft.com`
|
||||||
- cd ~/kurs-platform/configs/deployment klasöründe komut çalıştırılır. `docker compose -f ./docker-compose-data.yml up -d`
|
- cd ~/kurs-platform/configs/deployment klasöründe komut çalıştırılır. `docker compose -f ./docker-compose-data.yml up -d`
|
||||||
|
|
||||||
# 6. Deployment
|
# 6. Deployment
|
||||||
|
|
@ -238,26 +238,26 @@ git checkout master/branch
|
||||||
git fetch && git pull
|
git fetch && git pull
|
||||||
cd ~/kurs-platform/api
|
cd ~/kurs-platform/api
|
||||||
docker build \
|
docker build \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0 \
|
-t devops.sozsoft.com/kurs/kurs-platform-api:1.0.0 \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-api:latest \
|
-t devops.sozsoft.com/kurs/kurs-platform-api:latest \
|
||||||
-f Kurs.Platform.HttpApi.Host.Dockerfile .
|
-f Kurs.Platform.HttpApi.Host.Dockerfile .
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0
|
docker push devops.sozsoft.com/kurs/kurs-platform-api:1.0.0
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:latest
|
docker push devops.sozsoft.com/kurs/kurs-platform-api:latest
|
||||||
|
|
||||||
docker build \
|
docker build \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0 \
|
-t devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0 \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest \
|
-t devops.sozsoft.com/kurs/kurs-platform-migrator:latest \
|
||||||
-f Kurs.Platform.DbMigrator.Dockerfile .
|
-f Kurs.Platform.DbMigrator.Dockerfile .
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0
|
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest
|
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:latest
|
||||||
|
|
||||||
cd ~/kurs-platform/ui
|
cd ~/kurs-platform/ui
|
||||||
docker build \
|
docker build \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0 \
|
-t devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0 \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:latest \
|
-t devops.sozsoft.com/kurs/kurs-platform-ui:latest \
|
||||||
-f Kurs.Platform.Ui.Dockerfile --build-arg ENV=dev .
|
-f Kurs.Platform.Ui.Dockerfile --build-arg ENV=dev .
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0
|
docker push devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:latest
|
docker push devops.sozsoft.com/kurs/kurs-platform-ui:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### Dev-Prod Ortam Makinaları
|
### Dev-Prod Ortam Makinaları
|
||||||
|
|
@ -280,16 +280,16 @@ docker compose -f docker-compose-app.yml -f docker-compose-app.dev.yml up -d
|
||||||
|
|
||||||
## 7.1.Komutlar
|
## 7.1.Komutlar
|
||||||
|
|
||||||
- docker build -t devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0 -f Kurs.Platform.HttpApi.Host.Dockerfile .
|
- docker build -t devops.sozsoft.com/kurs/kurs-platform-api:1.0.0 -f Kurs.Platform.HttpApi.Host.Dockerfile .
|
||||||
- docker build -t devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0 -f Kurs.Platform.DbMigrator.Dockerfile .
|
- docker build -t devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0 -f Kurs.Platform.DbMigrator.Dockerfile .
|
||||||
- docker build -t devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0 -f Kurs.Platform.Ui.Dockerfile --build-arg ENV=dev .
|
- docker build -t devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0 -f Kurs.Platform.Ui.Dockerfile --build-arg ENV=dev .
|
||||||
- docker run -it --entrypoint /bin/sh kurs-platform-api
|
- docker run -it --entrypoint /bin/sh kurs-platform-api
|
||||||
- docker run -it --entrypoint /bin/sh --network kurs-platform_default kurs-platform-api --env ASPNETCORE_ENVIRONMENT=Development --port 8080:80
|
- docker run -it --entrypoint /bin/sh --network kurs-platform_default kurs-platform-api --env ASPNETCORE_ENVIRONMENT=Development --port 8080:80
|
||||||
- docker run -it --entrypoint /bin/sh --network kurs-platform_default --env ASPNETCORE_ENVIRONMENT=Development kurs-platform-migrator
|
- docker run -it --entrypoint /bin/sh --network kurs-platform_default --env ASPNETCORE_ENVIRONMENT=Development kurs-platform-migrator
|
||||||
- docker login devops.sozsoft.net
|
- docker login devops.sozsoft.com
|
||||||
- docker push devops.sozsoft.net/sozsoft/kurs-platform-api:1.0.0
|
- docker push devops.sozsoft.com/kurs/kurs-platform-api:1.0.0
|
||||||
- docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0
|
- docker push devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0
|
||||||
- docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:1.0.0
|
- docker push devops.sozsoft.com/kurs/kurs-platform-ui:1.0.0
|
||||||
|
|
||||||
## 7.2. SSL olmayan registry'e bağlanma
|
## 7.2. SSL olmayan registry'e bağlanma
|
||||||
|
|
||||||
|
|
@ -297,7 +297,7 @@ docker compose -f docker-compose-app.yml -f docker-compose-app.dev.yml up -d
|
||||||
cd ~/
|
cd ~/
|
||||||
touch daemon.json
|
touch daemon.json
|
||||||
{
|
{
|
||||||
"insecure-registries": ["devops.sozsoft.net"]
|
"insecure-registries": ["devops.sozsoft.com"]
|
||||||
}
|
}
|
||||||
sudo cp daemon.json /etc/docker
|
sudo cp daemon.json /etc/docker
|
||||||
sudo systemctl stop docker
|
sudo systemctl stop docker
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,10 @@ server {
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name devops.sozsoft.net;
|
server_name devops.sozsoft.com;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://forgejo;
|
proxy_pass http://forgejo;
|
||||||
|
|
@ -29,10 +29,10 @@ server {
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name chat.sozsoft.net;
|
server_name chat.sozsoft.com;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://rocket_chat;
|
proxy_pass http://rocket_chat;
|
||||||
|
|
@ -49,10 +49,10 @@ server {
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name ai.sozsoft.net;
|
server_name ai.sozsoft.com;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://n8n:5678;
|
proxy_pass http://n8n:5678;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name platform-dev.sozsoft.net;
|
server_name platform-dev.sozsoft.com;
|
||||||
underscores_in_headers on;
|
underscores_in_headers on;
|
||||||
ignore_invalid_headers off;
|
ignore_invalid_headers off;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://ui;
|
proxy_pass http://ui;
|
||||||
|
|
@ -19,10 +19,10 @@ server {
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name platform-dev-api.sozsoft.net;
|
server_name platform-dev-api.sozsoft.com;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://api:8080/;
|
proxy_pass http://api:8080/;
|
||||||
|
|
@ -35,10 +35,10 @@ server {
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name platform-dev-cdn.sozsoft.net;
|
server_name platform-dev-cdn.sozsoft.com;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://cdn:8080;
|
proxy_pass http://cdn:8080;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name platform.sozsoft.net;
|
server_name platform.sozsoft.com;
|
||||||
underscores_in_headers on;
|
underscores_in_headers on;
|
||||||
ignore_invalid_headers off;
|
ignore_invalid_headers off;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://ui;
|
proxy_pass http://ui;
|
||||||
|
|
@ -19,10 +19,10 @@ server {
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name platform-api.sozsoft.net;
|
server_name platform-api.sozsoft.com;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://api:8080/;
|
proxy_pass http://api:8080/;
|
||||||
|
|
@ -35,10 +35,10 @@ server {
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name platform-cdn.sozsoft.net;
|
server_name platform-cdn.sozsoft.com;
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/sozsoft.net/cert1.pem;
|
ssl_certificate /etc/ssl/sozsoft.com/cert1.pem;
|
||||||
ssl_certificate_key /etc/ssl/sozsoft.net/privkey1.pem;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://cdn:8080;
|
proxy_pass http://cdn:8080;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- ASPNETCORE_ENVIRONMENT=Dev
|
- ASPNETCORE_ENVIRONMENT=Dev
|
||||||
ui:
|
ui:
|
||||||
image: devops.sozsoft.net/sozsoft/kurs-platform-ui:dev-latest
|
image: devops.sozsoft.com/kurs/kurs-platform-ui:dev-latest
|
||||||
restart: always
|
restart: always
|
||||||
cdn:
|
cdn:
|
||||||
restart: always
|
restart: always
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- ASPNETCORE_ENVIRONMENT=Production
|
- ASPNETCORE_ENVIRONMENT=Production
|
||||||
ui:
|
ui:
|
||||||
image: devops.sozsoft.net/sozsoft/kurs-platform-ui:production-latest
|
image: devops.sozsoft.com/kurs/kurs-platform-ui:production-latest
|
||||||
restart: always
|
restart: always
|
||||||
cdn:
|
cdn:
|
||||||
restart: always
|
restart: always
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ volumes:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
migrator:
|
migrator:
|
||||||
image: devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest
|
image: devops.sozsoft.com/kurs/kurs-platform-migrator:latest
|
||||||
profiles: ["migrator"]
|
profiles: ["migrator"]
|
||||||
environment:
|
environment:
|
||||||
- ASPNETCORE_ENVIRONMENT=Dev
|
- ASPNETCORE_ENVIRONMENT=Dev
|
||||||
|
|
@ -21,7 +21,7 @@ services:
|
||||||
- kurs-platform-data_db
|
- kurs-platform-data_db
|
||||||
- kurs-platform-data_log
|
- kurs-platform-data_log
|
||||||
api:
|
api:
|
||||||
image: devops.sozsoft.net/sozsoft/kurs-platform-api:latest
|
image: devops.sozsoft.com/kurs/kurs-platform-api:latest
|
||||||
profiles: ["app"]
|
profiles: ["app"]
|
||||||
environment:
|
environment:
|
||||||
- ASPNETCORE_ENVIRONMENT=Dev
|
- ASPNETCORE_ENVIRONMENT=Dev
|
||||||
|
|
@ -33,7 +33,7 @@ services:
|
||||||
- cdn:/etc/api/cdn
|
- cdn:/etc/api/cdn
|
||||||
- api-keys:/root/.aspnet/DataProtection-Keys
|
- api-keys:/root/.aspnet/DataProtection-Keys
|
||||||
ui:
|
ui:
|
||||||
image: devops.sozsoft.net/sozsoft/kurs-platform-ui:latest
|
image: devops.sozsoft.com/kurs/kurs-platform-ui:latest
|
||||||
profiles: ["app"]
|
profiles: ["app"]
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
|
|
@ -56,4 +56,4 @@ services:
|
||||||
- 443:443
|
- 443:443
|
||||||
volumes:
|
volumes:
|
||||||
- ./configs/nginx.conf:/etc/nginx/conf.d/default.conf
|
- ./configs/nginx.conf:/etc/nginx/conf.d/default.conf
|
||||||
- ~/sozsoft.net:/etc/ssl/sozsoft.net:ro
|
- ~/sozsoft.com:/etc/ssl/sozsoft.com:ro
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ services:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /etc/letsencrypt/archive/sozsoft.net:/etc/ssl:ro
|
- /etc/letsencrypt/archive/sozsoft.com:/etc/ssl:ro
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ services:
|
||||||
- 443:443
|
- 443:443
|
||||||
volumes:
|
volumes:
|
||||||
- ./configs/nginx-devops.conf:/etc/nginx/conf.d/default.conf
|
- ./configs/nginx-devops.conf:/etc/nginx/conf.d/default.conf
|
||||||
- ~/sozsoft.net:/etc/ssl/sozsoft.net:ro
|
- ~/sozsoft.com:/etc/ssl/sozsoft.com:ro
|
||||||
depends_on:
|
depends_on:
|
||||||
- forgejo
|
- forgejo
|
||||||
- rocket_mongodb
|
- rocket_mongodb
|
||||||
|
|
@ -59,7 +59,7 @@ services:
|
||||||
environment:
|
environment:
|
||||||
MONGO_URL: "mongodb://bot:JT74Sb2Tb3@rocket_mongodb:27017/rocketchat?authSource=admin&replicaSet=rs0"
|
MONGO_URL: "mongodb://bot:JT74Sb2Tb3@rocket_mongodb:27017/rocketchat?authSource=admin&replicaSet=rs0"
|
||||||
MONGO_OPLOG_URL: "mongodb://bot:JT74Sb2Tb3@rocket_mongodb:27017/local?authSource=admin&replicaSet=rs0"
|
MONGO_OPLOG_URL: "mongodb://bot:JT74Sb2Tb3@rocket_mongodb:27017/local?authSource=admin&replicaSet=rs0"
|
||||||
ROOT_URL: https://chat.sozsoft.net
|
ROOT_URL: https://chat.sozsoft.com
|
||||||
PORT: 80
|
PORT: 80
|
||||||
DEPLOY_METHOD: docker
|
DEPLOY_METHOD: docker
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
@ -98,7 +98,7 @@ services:
|
||||||
- N8N_BASIC_AUTH_ACTIVE=true
|
- N8N_BASIC_AUTH_ACTIVE=true
|
||||||
- N8N_BASIC_AUTH_USER=admin
|
- N8N_BASIC_AUTH_USER=admin
|
||||||
- N8N_BASIC_AUTH_PASSWORD=NvQp8s@l
|
- N8N_BASIC_AUTH_PASSWORD=NvQp8s@l
|
||||||
- N8N_HOST=ai.sozsoft.net
|
- N8N_HOST=ai.sozsoft.com
|
||||||
- N8N_PORT=5678
|
- N8N_PORT=5678
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- GENERIC_TIMEZONE=Europe/Istanbul
|
- GENERIC_TIMEZONE=Europe/Istanbul
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,8 @@ VERSION=$(cat ~/kurs-platform/api/src/Kurs.Platform.HttpApi.Host/appsettings.jso
|
||||||
| sed 's/"//g')
|
| sed 's/"//g')
|
||||||
|
|
||||||
docker build \
|
docker build \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-api:${VERSION} \
|
-t devops.sozsoft.com/kurs/kurs-platform-api:${VERSION} \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-api:latest \
|
-t devops.sozsoft.com/kurs/kurs-platform-api:latest \
|
||||||
-f Kurs.Platform.HttpApi.Host.Dockerfile .
|
-f Kurs.Platform.HttpApi.Host.Dockerfile .
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:${VERSION}
|
docker push devops.sozsoft.com/kurs/kurs-platform-api:${VERSION}
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-api:latest
|
docker push devops.sozsoft.com/kurs/kurs-platform-api:latest
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ git fetch && git pull
|
||||||
|
|
||||||
cd api
|
cd api
|
||||||
docker build \
|
docker build \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0 \
|
-t devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0 \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest \
|
-t devops.sozsoft.com/kurs/kurs-platform-migrator:latest \
|
||||||
-f Kurs.Platform.DbMigrator.Dockerfile .
|
-f Kurs.Platform.DbMigrator.Dockerfile .
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:1.0.0
|
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:1.0.0
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-migrator:latest
|
docker push devops.sozsoft.com/kurs/kurs-platform-migrator:latest
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ VERSION=$(cat package.json \
|
||||||
| sed 's/^.* //' \
|
| sed 's/^.* //' \
|
||||||
| sed 's/"//g')
|
| sed 's/"//g')
|
||||||
docker build \
|
docker build \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-${VERSION} \
|
-t devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-${VERSION} \
|
||||||
-t devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-latest \
|
-t devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-latest \
|
||||||
-f Kurs.Platform.Ui.Dockerfile --build-arg ENV=${ENV} .
|
-f Kurs.Platform.Ui.Dockerfile --build-arg ENV=${ENV} .
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-${VERSION}
|
docker push devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-${VERSION}
|
||||||
docker push devops.sozsoft.net/sozsoft/kurs-platform-ui:${ENV}-latest
|
docker push devops.sozsoft.com/kurs/kurs-platform-ui:${ENV}-latest
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ services:
|
||||||
- N8N_BASIC_AUTH_ACTIVE=true
|
- N8N_BASIC_AUTH_ACTIVE=true
|
||||||
- N8N_BASIC_AUTH_USER=admin
|
- N8N_BASIC_AUTH_USER=admin
|
||||||
- N8N_BASIC_AUTH_PASSWORD=NvQp8s@l
|
- N8N_BASIC_AUTH_PASSWORD=NvQp8s@l
|
||||||
- N8N_HOST=api.sozsoft.net
|
- N8N_HOST=api.sozsoft.com
|
||||||
- N8N_PORT=5678
|
- N8N_PORT=5678
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- GENERIC_TIMEZONE=Europe/Istanbul
|
- GENERIC_TIMEZONE=Europe/Istanbul
|
||||||
|
|
|
||||||
2
ui/.env
2
ui/.env
|
|
@ -11,4 +11,4 @@ VITE_API_URL='https://localhost:44344/'
|
||||||
API_ROOTNAMESPACE='Kurs.Platform'
|
API_ROOTNAMESPACE='Kurs.Platform'
|
||||||
VITE_CDN_URL='http://localhost:4005'
|
VITE_CDN_URL='http://localhost:4005'
|
||||||
VITE_REACT_APP_VERSION=$npm_package_version
|
VITE_REACT_APP_VERSION=$npm_package_version
|
||||||
VITE_AI_URL='https://ai.sozsoft.net/webhook/'
|
VITE_AI_URL='https://ai.sozsoft.com/webhook/'
|
||||||
10
ui/.env.dev
10
ui/.env.dev
|
|
@ -1,12 +1,12 @@
|
||||||
APPLICATION_BASEURL='https://platform-dev.sozsoft.net'
|
APPLICATION_BASEURL='https://platform-dev.sozsoft.com'
|
||||||
APPLICATION_NAME='Platform'
|
APPLICATION_NAME='Platform'
|
||||||
APPLICATION_LOGOURL=''
|
APPLICATION_LOGOURL=''
|
||||||
OAUTH_ISSUER='https://platform-dev-api.sozsoft.net'
|
OAUTH_ISSUER='https://platform-dev-api.sozsoft.com'
|
||||||
OAUTH_REDIRECTURI='https://platform-dev.sozsoft.net'
|
OAUTH_REDIRECTURI='https://platform-dev.sozsoft.com'
|
||||||
OAUTH_CLIENTID='Platform_App'
|
OAUTH_CLIENTID='Platform_App'
|
||||||
OAUTH_RESPONSETYPE='code'
|
OAUTH_RESPONSETYPE='code'
|
||||||
OAUTH_SCOPE='offline_access Platform'
|
OAUTH_SCOPE='offline_access Platform'
|
||||||
OAUTH_REQUIREHTTPS=true
|
OAUTH_REQUIREHTTPS=true
|
||||||
VITE_API_URL='https://platform-dev-api.sozsoft.net/'
|
VITE_API_URL='https://platform-dev-api.sozsoft.com/'
|
||||||
API_ROOTNAMESPACE='Kurs.Platform'
|
API_ROOTNAMESPACE='Kurs.Platform'
|
||||||
VITE_CDN_URL='https://platform-dev-cdn.sozsoft.net'
|
VITE_CDN_URL='https://platform-dev-cdn.sozsoft.com'
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
APPLICATION_BASEURL='https://platform.sozsoft.net'
|
APPLICATION_BASEURL='https://platform.sozsoft.com'
|
||||||
APPLICATION_NAME='Platform'
|
APPLICATION_NAME='Platform'
|
||||||
APPLICATION_LOGOURL=''
|
APPLICATION_LOGOURL=''
|
||||||
OAUTH_ISSUER='https://platform-api.sozsoft.net'
|
OAUTH_ISSUER='https://platform-api.sozsoft.com'
|
||||||
OAUTH_REDIRECTURI='https://platform.sozsoft.net'
|
OAUTH_REDIRECTURI='https://platform.sozsoft.com'
|
||||||
OAUTH_CLIENTID='Platform_App'
|
OAUTH_CLIENTID='Platform_App'
|
||||||
OAUTH_RESPONSETYPE='code'
|
OAUTH_RESPONSETYPE='code'
|
||||||
OAUTH_SCOPE='offline_access Platform'
|
OAUTH_SCOPE='offline_access Platform'
|
||||||
OAUTH_REQUIREHTTPS=true
|
OAUTH_REQUIREHTTPS=true
|
||||||
VITE_API_URL='https://platform-api.sozsoft.net/'
|
VITE_API_URL='https://platform-api.sozsoft.com/'
|
||||||
API_ROOTNAMESPACE='Kurs.Platform'
|
API_ROOTNAMESPACE='Kurs.Platform'
|
||||||
VITE_CDN_URL='https://platform-cdn.sozsoft.net'
|
VITE_CDN_URL='https://platform-cdn.sozsoft.com'
|
||||||
|
|
@ -82,7 +82,7 @@ define(['./workbox-54d0af47'], (function (workbox) { 'use strict';
|
||||||
"revision": "3ca0b8505b4bec776b69afdba2768812"
|
"revision": "3ca0b8505b4bec776b69afdba2768812"
|
||||||
}, {
|
}, {
|
||||||
"url": "index.html",
|
"url": "index.html",
|
||||||
"revision": "0.jp130trvbeg"
|
"revision": "0.85ufv4pqo4o"
|
||||||
}], {});
|
}], {});
|
||||||
workbox.cleanupOutdatedCaches();
|
workbox.cleanupOutdatedCaches();
|
||||||
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {
|
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta name="theme-color" content="#000000" />
|
<meta name="theme-color" content="#000000" />
|
||||||
<meta name="description" content="KursPlatform" />
|
<meta name="description" content="Kurs Platform" />
|
||||||
<title>KursPlatform</title>
|
<title>Kurs Platform</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|
|
||||||
BIN
ui/public/img/others/cto.png
Normal file
BIN
ui/public/img/others/cto.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 94 KiB |
|
|
@ -23,9 +23,9 @@ const Cover = ({ children, content, ...rest }: CoverProps) => {
|
||||||
Jump start your project with Elstar
|
Jump start your project with Elstar
|
||||||
</h3>
|
</h3>
|
||||||
<p className="text-lg text-white opacity-80 max-w-[700px]">
|
<p className="text-lg text-white opacity-80 max-w-[700px]">
|
||||||
Kurs’ fabrics are designed to meet all international quality
|
From interactive desktop applications to immersive web and mobile
|
||||||
and safety-standards and customer requirements. Our products
|
solutions, we exist to meet your needs today and ensure continued
|
||||||
are tested both in house and in internationally accredited laboratories.
|
success tomorrow.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-white">
|
<span className="text-white">
|
||||||
|
|
|
||||||
|
|
@ -23,15 +23,15 @@ const Side = ({ children, content, ...rest }: SideProps) => {
|
||||||
<Avatar
|
<Avatar
|
||||||
className="border-2 border-white"
|
className="border-2 border-white"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
src="/img/avatars/thumb-8.jpg"
|
src="/img/others/cto.png"
|
||||||
/>
|
/>
|
||||||
<div className="text-white">
|
<div className="text-white">
|
||||||
<div className="font-semibold text-base">Sedat ÖZTÜRK</div>
|
<div className="font-semibold text-base">Sedat ÖZTÜRK</div>
|
||||||
<span className="opacity-80">CTO, Onward</span>
|
<span className="opacity-80">CTO</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-lg text-white opacity-80">
|
<p className="text-lg text-white opacity-80">
|
||||||
Kurs’ fabrics are designed to meet all international quality and safety-standards and customer requirements. Our products are tested both in house and in internationally accredited laboratories.
|
From interactive desktop applications to immersive web and mobile solutions, we exist to meet your needs today and ensure continued success tomorrow.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-white">
|
<span className="text-white">
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,9 @@ const AiAssistant = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + 'AI Assistant')}
|
title={translate('::' + 'AI Assistant')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
<Tooltip title="AI Asistan">
|
<Tooltip title="AI Asistan">
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -76,9 +76,9 @@ const Home = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + 'Home')}
|
title={translate('::' + 'Home')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
|
|
||||||
<WidgetFilter
|
<WidgetFilter
|
||||||
|
|
|
||||||
|
|
@ -285,9 +285,9 @@ function ChartEdit() {
|
||||||
<Form>
|
<Form>
|
||||||
<FormContainer size="sm">
|
<FormContainer size="sm">
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={chartCode}
|
title={chartCode}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
|
|
||||||
<div className="lg:flex items-center justify-between mb-4 gap-3">
|
<div className="lg:flex items-center justify-between mb-4 gap-3">
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,9 @@ const Roles = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::AbpIdentity.Roles')}
|
title={translate('::AbpIdentity.Roles')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
<Button
|
<Button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,9 @@ function UserDetails() {
|
||||||
return userDetails ? (
|
return userDetails ? (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={userDetails.email}
|
title={userDetails.email}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
<Tabs defaultValue="user">
|
<Tabs defaultValue="user">
|
||||||
<TabList>
|
<TabList>
|
||||||
|
|
|
||||||
|
|
@ -217,9 +217,9 @@ const Users = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::AbpIdentity.Users')}
|
title={translate('::AbpIdentity.Users')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
<Container>
|
<Container>
|
||||||
<AdaptableCard>
|
<AdaptableCard>
|
||||||
|
|
|
||||||
|
|
@ -133,9 +133,9 @@ const Wizard = () => {
|
||||||
<div className="grid lg:grid-cols-2 xl:grid-cols-3">
|
<div className="grid lg:grid-cols-2 xl:grid-cols-3">
|
||||||
<Container>
|
<Container>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + 'Wizard')}
|
title={translate('::' + 'Wizard')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
|
|
||||||
<Formik
|
<Formik
|
||||||
|
|
|
||||||
|
|
@ -148,9 +148,9 @@ const FormEdit = () => {
|
||||||
return listFormCode && listFormValues && customizations && roleList && userList ? (
|
return listFormCode && listFormValues && customizations && roleList && userList ? (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={`${listFormCode} - ${translate(`::${listFormValues.title}`)}`}
|
title={`${listFormCode} - ${translate(`::${listFormValues.title}`)}`}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
<div className="lg:flex items-center justify-between mb-4 gap-3">
|
<div className="lg:flex items-center justify-between mb-4 gap-3">
|
||||||
<div className="mb-4 lg:mb-0">
|
<div className="mb-4 lg:mb-0">
|
||||||
|
|
|
||||||
|
|
@ -445,9 +445,9 @@ const OrganizationUnits = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::Abp.Identity.OrganizationUnits')}
|
title={translate('::Abp.Identity.OrganizationUnits')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
<Loading type="cover" loading={loading}>
|
<Loading type="cover" loading={loading}>
|
||||||
<Container>
|
<Container>
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,9 @@ const Tenants = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::AbpTenantManagement.Tenants')}
|
title={translate('::AbpTenantManagement.Tenants')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
<Loading type="cover" loading={loading}>
|
<Loading type="cover" loading={loading}>
|
||||||
<Container>
|
<Container>
|
||||||
|
|
|
||||||
|
|
@ -264,7 +264,7 @@ const Assistant = () => {
|
||||||
<div className="text-center text-gray-500 mt-8">
|
<div className="text-center text-gray-500 mt-8">
|
||||||
<Bot className="w-12 h-12 mx-auto mb-4 text-gray-400" />
|
<Bot className="w-12 h-12 mx-auto mb-4 text-gray-400" />
|
||||||
<p className="mt-2">Hoş Geldiniz!</p>
|
<p className="mt-2">Hoş Geldiniz!</p>
|
||||||
<p className="text-lg font-medium">Sozsoft AI</p>
|
<p className="text-lg font-medium">Kurs AI</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,9 +44,9 @@ const Chart = (props: ChartProps) => {
|
||||||
<Container className={DX_CLASSNAMES}>
|
<Container className={DX_CLASSNAMES}>
|
||||||
{!isSubForm && chartOptions && (
|
{!isSubForm && chartOptions && (
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + chartOptions.title.text)}
|
title={translate('::' + chartOptions.title.text)}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
)}
|
)}
|
||||||
{_chartCode && chartOptions && (
|
{_chartCode && chartOptions && (
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,9 @@ const FormEdit = (
|
||||||
<>
|
<>
|
||||||
{!isSubForm && (
|
{!isSubForm && (
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + gridDto?.gridOptions.title)}
|
title={translate('::' + gridDto?.gridOptions.title)}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
)}
|
)}
|
||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
|
|
|
||||||
|
|
@ -147,9 +147,9 @@ const FormNew = (
|
||||||
<>
|
<>
|
||||||
{!isSubForm && (
|
{!isSubForm && (
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + gridDto?.gridOptions.title)}
|
title={translate('::' + gridDto?.gridOptions.title)}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
)}
|
)}
|
||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
|
|
|
||||||
|
|
@ -56,9 +56,9 @@ const FormView = (
|
||||||
<>
|
<>
|
||||||
{!isSubForm && (
|
{!isSubForm && (
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + gridDto?.gridOptions.title)}
|
title={translate('::' + gridDto?.gridOptions.title)}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
)}
|
)}
|
||||||
<div className="flex items-center justify-between mb-4">
|
<div className="flex items-center justify-between mb-4">
|
||||||
|
|
|
||||||
|
|
@ -471,9 +471,9 @@ const Grid = (props: GridProps) => {
|
||||||
<Container className={DX_CLASSNAMES}>
|
<Container className={DX_CLASSNAMES}>
|
||||||
{!isSubForm && (
|
{!isSubForm && (
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + gridDto?.gridOptions.title)}
|
title={translate('::' + gridDto?.gridOptions.title)}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
)}
|
)}
|
||||||
{gridDto && columnData && (
|
{gridDto && columnData && (
|
||||||
|
|
|
||||||
|
|
@ -248,9 +248,9 @@ const Pivot = (props: GridProps) => {
|
||||||
<Container className={DX_CLASSNAMES}>
|
<Container className={DX_CLASSNAMES}>
|
||||||
{!isSubForm && (
|
{!isSubForm && (
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + gridDto?.gridOptions.title)}
|
title={translate('::' + gridDto?.gridOptions.title)}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
)}
|
)}
|
||||||
{gridDto && columnData && (
|
{gridDto && columnData && (
|
||||||
|
|
|
||||||
|
|
@ -120,9 +120,9 @@ const Settings = () => {
|
||||||
return (
|
return (
|
||||||
<Container className="h-full">
|
<Container className="h-full">
|
||||||
<Helmet
|
<Helmet
|
||||||
titleTemplate="%s | KursPlatform"
|
titleTemplate="%s | Kurs Platform"
|
||||||
title={translate('::' + 'Settings')}
|
title={translate('::' + 'Settings')}
|
||||||
defaultTitle="KursPlatform"
|
defaultTitle="Kurs Platform"
|
||||||
></Helmet>
|
></Helmet>
|
||||||
|
|
||||||
<div className="flex flex-col md:flex-row gap-4">
|
<div className="flex flex-col md:flex-row gap-4">
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,6 @@ export default defineConfig({
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
port: 80,
|
port: 80,
|
||||||
open: false,
|
open: false,
|
||||||
allowedHosts: ['platform-dev.sozsoft.net', 'platform.sozsoft.net', 'localhost'],
|
allowedHosts: ['platform-dev.sozsoft.com', 'platform.sozsoft.com', 'localhost'],
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue