Initial QSfera import

This commit is contained in:
Курнат Андрей
2026-06-07 10:20:04 +03:00
commit 2315f25754
16485 changed files with 4826827 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
package_name("eu.qsfera.android")
# Credentials are read from environment, NOT a file in the repo:
# SUPPLY_JSON_KEY — absolute path to the service-account JSON (local dev)
# SUPPLY_JSON_KEY_DATA — raw JSON contents (CI; e.g. a GitHub Actions secret)
# Set whichever one fits your workflow.
+61
View File
@@ -0,0 +1,61 @@
default_platform(:android)
def qsfera_env(primary, legacy)
ENV[primary].to_s.empty? ? ENV[legacy] : ENV[primary]
end
platform :android do
desc "Pull latest translations from Transifex"
lane :pull_translations do
Dir.chdir("..") do
sh("tx", "pull", "-a", "-f", "--skip")
#sh("tx" "pull" "--force" "--skip" "--all" "-w" "1" "-m" "onlytranslated")
end
files = Dir.glob("../qsferaApp/src/main/res/values-*/strings.xml")
if files.empty?
UI.important("No values-*/strings.xml present after tx pull — nothing was downloaded.")
else
UI.success("#{files.size} translation file(s) on disk:")
files.sort.each { |f| UI.message(" #{f}") }
end
end
desc "Build the originalRelease AAB (pulls translations first)"
lane :build_release do
{
"QSFERA_RELEASE_KEYSTORE" => "OC_RELEASE_KEYSTORE",
"QSFERA_RELEASE_KEYSTORE_PASSWORD" => "OC_RELEASE_KEYSTORE_PASSWORD",
"QSFERA_RELEASE_KEY_ALIAS" => "OC_RELEASE_KEY_ALIAS",
"QSFERA_RELEASE_KEY_PASSWORD" => "OC_RELEASE_KEY_PASSWORD"
}.each do |primary, legacy|
next unless qsfera_env(primary, legacy).to_s.empty?
UI.user_error!(
"#{primary} is not set — release AAB would be unsigned and rejected by Play. " \
"#{legacy} is still accepted as a legacy fallback."
)
end
pull_translations
gradle(
task: "bundle",
flavor: "Original",
build_type: "Release"
)
sh("ls", "-l", "../qsferaApp/build/outputs/bundle/originalRelease/qsferaApp-original-release.aab")
end
desc "Pull translations, build, and upload to Play Store. Override track with: fastlane deploy track:beta"
lane :deploy do |options|
track = options[:track] || "internal"
build_release
upload_to_play_store(
track: track,
aab: lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH],
skip_upload_apk: true,
skip_upload_metadata: true,
skip_upload_changelogs: true,
skip_upload_images: true,
skip_upload_screenshots: true
)
end
end
@@ -0,0 +1,13 @@
Excellent file management and collaboration for public authorities, providers and business or anyone who values ease of use and digital sovereignty.
File Sync & Share
Changes to documents are synchronized in real time, ensuring all team members always have access to the latest version.
Workspaces
Create data rooms that enable access for all team members and promote efficient collaboration. Files and folders can be organized, managed and securely shared in these central areas.
Smart Search
The full-text and metadata search allows you to browse through all documents and files, quickly discovering relevant information. Whether youre searching for specific terms within the text or metadata such as creation date or author, finding what you need is effortless.
Web Office
With QSfera's integrated office applications, teams can work on documents in real time whether its text, spreadsheets, or presentations.
Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

@@ -0,0 +1 @@
File Sync, Workspaces, Smart Search & Web Office