No description
  • HTML 69.9%
  • Shell 30.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Mert Gör ffbbadcb1c
docs(license): add documentation and service license details
Signed-off-by: Mert Gör <mertgor@qbnetworks.xyz>
2026-07-13 03:11:26 +03:00
scripts docs(release): add README and changelog, improve release workflow script 2026-07-13 02:42:17 +03:00
by-sa.markdown docs(license): add documentation and service license details 2026-07-13 03:11:26 +03:00
CHANGELOG.md feat(data): add primary tech_nations dataset and docs 2026-07-13 02:56:19 +03:00
index.html initial 2026-07-13 02:26:27 +03:00
LICENSE docs(license): add documentation and service license details 2026-07-13 03:11:26 +03:00
README.md docs(license): add documentation and service license details 2026-07-13 03:11:26 +03:00
tech_nations.txt feat(data): add primary tech_nations dataset and docs 2026-07-13 02:56:19 +03:00

Tech Nations Atlas

Tech Nations Atlas is a lightweight, searchable web catalog of technology ecosystems by country. It highlights software companies, hardware organizations, open source/free ecosystems, and strategic projects.

Project Goals

  • Present country-level technology information in a clear and fast format.
  • Keep deployment simple: static files only.
  • Support practical publication workflows to GitHub and Codeberg.

Technical Overview

  • Frontend: plain HTML, CSS, and JavaScript in index.html.
  • Data source: text-based dataset in tech_nations.txt.
  • Fallback data: embedded dataset inside index.html if the text file cannot be fetched.
  • Rendering model: parser converts country sections and category lines into responsive cards.
  • Search: client-side filtering across country names, labels, and content.
  • Theming: light and dark themes with local storage persistence.
  • Browser support strategy: avoids fragile dependencies and keeps compatibility-focused CSS.

Key Features

  • Country cards with category chips.
  • Fast in-page search.
  • Responsive layout for desktop and mobile.
  • Dark theme toggle.
  • Resilient parsing that ignores malformed lines.

Repository Layout

Release Publishing Script

Use scripts/publish_release.sh to publish the latest tag release to GitHub and Codeberg.

What It Does

  • Detects latest tag automatically.
  • Uses tag as release name by default.
  • Uses annotated tag notes when available.
  • Detects github and codeberg remotes automatically.
  • Accepts tokens via arguments, environment variables, or hidden terminal prompts.

Example

./scripts/publish_release.sh

Then paste tokens when prompted (input is hidden).

Soft Skills and Team Practices

This project intentionally values both technical quality and team behavior.

  • Communication clarity: write concise, actionable issue and PR descriptions.
  • Empathy in feedback: review code critically, but frame comments respectfully.
  • Knowledge sharing: explain tradeoffs and leave maintainers enough context.
  • Reliability: keep release steps predictable and documented.
  • Ownership: when changing behavior, update docs and changelog in the same PR.

Contribution Notes

  • Prefer small, focused commits.
  • Keep wording and naming consistent across data and UI.
  • Validate scripts with bash -n before pushing.
  • Test UI behavior in both light and dark themes.

Roadmap Ideas

  • Add per-country detail pages.
  • Add export to JSON and CSV.
  • Add data validation tooling for dataset integrity.
  • Add automated CI checks for script and static-site correctness.

Documentation License

This project is licensed under CC BY-SA 4.0 or later.

Service License

Copyright (C) 2026 QB Networks

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.