diff --git a/.gitignore b/.gitignore
index 738761e..c5c3f3e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,62 +1,79 @@
-# .NET
+# .NET Build outputs
bin/
obj/
-*.user
-*.suo
-*.userosscache
*.dll
*.exe
*.pdb
-*.cache
-*.config
-*.csproj
-*.vbproj
-*.vshost.*
-*.bak
-TestResult.xml
-[Bb]in
-[Oo]bj
-[Tt]est[Rr]esults
-*.sln.cache
-*.suo
-*.cache
+
+# User-specific files
*.user
+*.suo
*.userosscache
-*.dll
-*.pdb
-*.bak
-*.dotCover
+*.sln.docstates
+*.userprefs
+
+# Visual Studio
+.vs/
+*.sln.ide/
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+build/
+bld/
+[Bb]in/
+[Oo]bj/
+
+# Test results
+[Tt]est[Rr]esult*/
+TestResults/
+*.trx
+*.coverage
+*.coveragexml
+
+# NuGet
+packages/
+*.nupkg
+*.snupkg
+**/[Pp]ackages/*
+!**/[Pp]ackages/build/
# Angular
node_modules/
dist/
*.log
+npm-debug.log*
-# System Files
+# System Files
.DS_Store
Thumbs.db
-# Visual Studio Code
+# IDE
.vscode/
+.idea/
-# Visual Studio
-*.sln
-*.suo
-*.user
-*.userosscache
-*.sln.docstates
-*.sln.ide/
-*.dbmdl
-*.jfm
-*.pfx
-*.publishsettings
-orleans.codegen.cs
-
-# ReSharper is a .NET coding add-in
+# ReSharper
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
-.vs/
+# Temporary files
Temp/
-WebAPI/diunabi-admin-firebase-Development.json
+*.tmp
+*.temp
+*.cache
+*.bak
+
+# Sensitive files
+**/appsettings.Development.json
+**/firebase-adminsdk-*.json
+src/Backend/DiunaBI.WebAPI/diunabi-admin-firebase-Development.json
+
+# WAŻNE: NIE IGNORUJ tych plików!
+# *.csproj ← USUNIĘTE!
+# *.sln ← USUNIĘTE!
+# *.config ← USUNIĘTE!
diff --git a/src/Backend/DiunaBI.Core/DiunaBI.Core.csproj b/src/Backend/DiunaBI.Core/DiunaBI.Core.csproj
new file mode 100644
index 0000000..cbf3eab
--- /dev/null
+++ b/src/Backend/DiunaBI.Core/DiunaBI.Core.csproj
@@ -0,0 +1,14 @@
+
+
+ net8.0
+ enable
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Backend/DiunaBI.Database/DiunaBI.Database.csproj b/src/Backend/DiunaBI.Database/DiunaBI.Database.csproj
new file mode 100644
index 0000000..e3d6e0b
--- /dev/null
+++ b/src/Backend/DiunaBI.Database/DiunaBI.Database.csproj
@@ -0,0 +1,27 @@
+
+
+ net8.0
+ enable
+
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Backend/DiunaBI.Plugins.Morska/DiunaBI.Plugins.Morska.csproj b/src/Backend/DiunaBI.Plugins.Morska/DiunaBI.Plugins.Morska.csproj
new file mode 100644
index 0000000..5fbd6b8
--- /dev/null
+++ b/src/Backend/DiunaBI.Plugins.Morska/DiunaBI.Plugins.Morska.csproj
@@ -0,0 +1,20 @@
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Backend/DiunaBI.WebAPI/DiunaBI.WebAPI.csproj b/src/Backend/DiunaBI.WebAPI/DiunaBI.WebAPI.csproj
new file mode 100644
index 0000000..a4ede7e
--- /dev/null
+++ b/src/Backend/DiunaBI.WebAPI/DiunaBI.WebAPI.csproj
@@ -0,0 +1,36 @@
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+ true
+ PreserveNewest
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Backend/DiunaBI.WebAPI/appsettings.json b/src/Backend/DiunaBI.WebAPI/appsettings.json
new file mode 100644
index 0000000..01e744b
--- /dev/null
+++ b/src/Backend/DiunaBI.WebAPI/appsettings.json
@@ -0,0 +1,31 @@
+{
+ "PONG": "#{PING}#",
+ "app-version": "#{buildId}#",
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*",
+ "ConnectionStrings": {
+ "SQLDatabase": "#{db-connection-string}#"
+ },
+ "GoogleClientId": "#{google-backend-login-client-id}#",
+ "Secret": "#{google-backend-login-secret}#",
+ "apiKey": "#{api-key}#",
+ "powerBI-user": "#{powerBI-user}#",
+ "powerBI-pass": "#{powerBI-pass}#",
+ "morska-user": "#{morska-user}#",
+ "morska-pass": "#{morska-pass}#",
+ "exportDirectory": "#{export-directory}#",
+ "appLogsFile": "#{app-logs-file}#",
+ "apiLocalUrl": "#{api-local-url}#",
+ "Kestrel": {
+ "Endpoints": {
+ "Http": {
+ "Url": "http://#{api-local-url}#"
+ }
+ }
+ }
+}
diff --git a/src/Backend/DiunaBI.WebAPI/bin/Debug/net8.0/appsettings.json b/src/Backend/DiunaBI.WebAPI/bin/Debug/net8.0/appsettings.json
new file mode 100644
index 0000000..01e744b
--- /dev/null
+++ b/src/Backend/DiunaBI.WebAPI/bin/Debug/net8.0/appsettings.json
@@ -0,0 +1,31 @@
+{
+ "PONG": "#{PING}#",
+ "app-version": "#{buildId}#",
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*",
+ "ConnectionStrings": {
+ "SQLDatabase": "#{db-connection-string}#"
+ },
+ "GoogleClientId": "#{google-backend-login-client-id}#",
+ "Secret": "#{google-backend-login-secret}#",
+ "apiKey": "#{api-key}#",
+ "powerBI-user": "#{powerBI-user}#",
+ "powerBI-pass": "#{powerBI-pass}#",
+ "morska-user": "#{morska-user}#",
+ "morska-pass": "#{morska-pass}#",
+ "exportDirectory": "#{export-directory}#",
+ "appLogsFile": "#{app-logs-file}#",
+ "apiLocalUrl": "#{api-local-url}#",
+ "Kestrel": {
+ "Endpoints": {
+ "Http": {
+ "Url": "http://#{api-local-url}#"
+ }
+ }
+ }
+}
diff --git a/src/Backend/DiunaBI.sln b/src/Backend/DiunaBI.sln
new file mode 100644
index 0000000..9fdd2df
--- /dev/null
+++ b/src/Backend/DiunaBI.sln
@@ -0,0 +1,40 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.WebAPI", "DiunaBI.WebAPI\DiunaBI.WebAPI.csproj", "{D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Core", "DiunaBI.Core\DiunaBI.Core.csproj", "{0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Plugins.Morska", "DiunaBI.Plugins.Morska\DiunaBI.Plugins.Morska.csproj", "{B5416A3F-550A-468D-852F-20B24243FD68}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiunaBI.Database", "DiunaBI.Database\DiunaBI.Database.csproj", "{8C346BEA-A209-4E8F-A6BF-70B42D9106C8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D468D3FD-2B0F-4E1E-9BFC-AE32DD3BB4C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0282E3CC-3BE1-4610-B65F-BC266A2FCA6E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B5416A3F-550A-468D-852F-20B24243FD68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B5416A3F-550A-468D-852F-20B24243FD68}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B5416A3F-550A-468D-852F-20B24243FD68}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B5416A3F-550A-468D-852F-20B24243FD68}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8C346BEA-A209-4E8F-A6BF-70B42D9106C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8C346BEA-A209-4E8F-A6BF-70B42D9106C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8C346BEA-A209-4E8F-A6BF-70B42D9106C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8C346BEA-A209-4E8F-A6BF-70B42D9106C8}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/src/Frontend/node_modules/lmdb/dependencies/lz4/lib/dll/example/fullbench-dll.sln b/src/Frontend/node_modules/lmdb/dependencies/lz4/lib/dll/example/fullbench-dll.sln
new file mode 100644
index 0000000..ef8d4c0
--- /dev/null
+++ b/src/Frontend/node_modules/lmdb/dependencies/lz4/lib/dll/example/fullbench-dll.sln
@@ -0,0 +1,25 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 2012 for Windows Desktop
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fullbench-dll", "fullbench-dll.vcxproj", "{13992FD2-077E-4954-B065-A428198201A9}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|Win32.Build.0 = Debug|Win32
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|x64.ActiveCfg = Debug|x64
+ {13992FD2-077E-4954-B065-A428198201A9}.Debug|x64.Build.0 = Debug|x64
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|Win32.ActiveCfg = Release|Win32
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|Win32.Build.0 = Release|Win32
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|x64.ActiveCfg = Release|x64
+ {13992FD2-077E-4954-B065-A428198201A9}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal