From 3c770824dd775f125160cb8d858ab6e88f0a4338 Mon Sep 17 00:00:00 2001 From: Alex Malaszkiewicz Date: Mon, 20 Nov 2023 15:30:17 +0100 Subject: [PATCH 1/2] Add an emoji column to the technologies table For some technologies we can find matching emojis. This may be a way to diversify our descriptions. This is an optional column. The value is not required. --- .../20231120143000_add_column_emoji_to_technologies.rb | 5 +++++ db/schema.rb | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20231120143000_add_column_emoji_to_technologies.rb diff --git a/db/migrate/20231120143000_add_column_emoji_to_technologies.rb b/db/migrate/20231120143000_add_column_emoji_to_technologies.rb new file mode 100644 index 00000000..4decc88c --- /dev/null +++ b/db/migrate/20231120143000_add_column_emoji_to_technologies.rb @@ -0,0 +1,5 @@ +class AddColumnEmojiToTechnologies < ActiveRecord::Migration[7.1] + def change + add_column :technologies, :emoji, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 62e4cdcb..131e528f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_09_26_080000) do +ActiveRecord::Schema[7.1].define(version: 2023_11_20_143000) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" enable_extension "plpgsql" @@ -245,6 +245,7 @@ t.string "github_repo" t.virtual "github_url", type: :string, as: "('https://github.com/'::text || (github_repo)::text)", stored: true t.string "website_url" + t.string "emoji" t.index ["slug"], name: "index_technologies_on_slug" end From a570c8ed15131980a55c31d59d5bb295e19f8253 Mon Sep 17 00:00:00 2001 From: Alex Malaszkiewicz Date: Mon, 20 Nov 2023 16:28:26 +0100 Subject: [PATCH 2/2] Add emojis to technology records With the help of ChatGPT, I chose appropriate emojis for various technologies. Some of ChatGPT's suggestions were wrong in my opinion, so I left them out. --- db/seeds/technology/apache_solr.rb | 1 + db/seeds/technology/docker.rb | 1 + db/seeds/technology/elasticsearch.rb | 1 + db/seeds/technology/emberjs.rb | 1 + db/seeds/technology/javascript.rb | 1 + db/seeds/technology/leaflet.rb | 1 + db/seeds/technology/linux.rb | 1 + db/seeds/technology/mathematica.rb | 1 + db/seeds/technology/matlab.rb | 1 + db/seeds/technology/minitest.rb | 1 + db/seeds/technology/mysql.rb | 1 + db/seeds/technology/opensearch.rb | 1 + db/seeds/technology/pivotal_tracker.rb | 1 + db/seeds/technology/playwright.rb | 1 + db/seeds/technology/postgis.rb | 1 + db/seeds/technology/postgresql.rb | 1 + db/seeds/technology/python.rb | 1 + db/seeds/technology/react.rb | 1 + db/seeds/technology/red_hat.rb | 1 + db/seeds/technology/rspec.rb | 1 + db/seeds/technology/ruby.rb | 1 + db/seeds/technology/ruby_on_rails.rb | 1 + db/seeds/technology/selenium_ide.rb | 1 + db/seeds/technology/selenium_webdriver.rb | 1 + db/seeds/technology/shoulda_matchers.rb | 1 + db/seeds/technology/sinatra.rb | 1 + db/seeds/technology/sqlite.rb | 1 + db/seeds/technology/terraform.rb | 1 + db/seeds/technology/trello.rb | 1 + db/seeds/technology/truffleruby.rb | 1 + 30 files changed, 30 insertions(+) diff --git a/db/seeds/technology/apache_solr.rb b/db/seeds/technology/apache_solr.rb index 711d856a..4d49bc59 100644 --- a/db/seeds/technology/apache_solr.rb +++ b/db/seeds/technology/apache_solr.rb @@ -2,6 +2,7 @@ technology_solr = Technology.where(slug: 'solr').first_or_initialize icon_solr_original_svg = File.read('./db/seeds/technology/svg/apache_solr.svg') technology_solr.assign_attributes( + emoji: '๐Ÿ”๐ŸŒป', icon: icon_solr_original_svg, name: 'Solr', title: 'Apache Solr', diff --git a/db/seeds/technology/docker.rb b/db/seeds/technology/docker.rb index c3addfee..23eee64e 100644 --- a/db/seeds/technology/docker.rb +++ b/db/seeds/technology/docker.rb @@ -3,6 +3,7 @@ icon_docker_original_svg = File.read('./db/seeds/technology/svg/docker-original.svg') icon_docker_wordmark_svg = File.read('./db/seeds/technology/svg/docker-original-wordmark.svg') technology_docker.assign_attributes( + emoji: '๐Ÿณ๐Ÿ“ฆ', icon: icon_docker_original_svg, icon_wordmark: icon_docker_wordmark_svg, name: 'docker', diff --git a/db/seeds/technology/elasticsearch.rb b/db/seeds/technology/elasticsearch.rb index 259662d8..58ccfdbc 100644 --- a/db/seeds/technology/elasticsearch.rb +++ b/db/seeds/technology/elasticsearch.rb @@ -2,6 +2,7 @@ technology_elasticsearch = Technology.where(slug: 'elasticsearch').first_or_initialize icon_elasticsearch_original_svg = File.read('./db/seeds/technology/svg/elasticsearch.svg') technology_elasticsearch.assign_attributes( + emoji: '๐Ÿ”๐ŸŒ๐Ÿ“ˆ', github_repo: 'elastic/elasticsearch', icon: icon_elasticsearch_original_svg, name: 'elasticsearch', diff --git a/db/seeds/technology/emberjs.rb b/db/seeds/technology/emberjs.rb index 9022390f..72178628 100644 --- a/db/seeds/technology/emberjs.rb +++ b/db/seeds/technology/emberjs.rb @@ -2,6 +2,7 @@ technology_emberjs = Technology.where(slug: 'emberjs').first_or_initialize icon_emberjs_wordmark_svg = File.read('./db/seeds/technology/svg/ember-original-wordmark.svg') technology_emberjs.assign_attributes( + emoji: '๐Ÿน๐Ÿ”ฅ', github_repo: 'emberjs/ember.js', icon_wordmark: icon_emberjs_wordmark_svg, name: 'ember', diff --git a/db/seeds/technology/javascript.rb b/db/seeds/technology/javascript.rb index 57a454fe..ec2c3734 100644 --- a/db/seeds/technology/javascript.rb +++ b/db/seeds/technology/javascript.rb @@ -2,6 +2,7 @@ technology_javascript = Technology.where(slug: 'javascript').first_or_initialize icon_javascript_original_svg = File.read('./db/seeds/technology/svg/javascript-original.svg') technology_javascript.assign_attributes( + emoji: '๐Ÿ“œ๐Ÿ’ป', icon: icon_javascript_original_svg, name: 'javascript', title: 'JavaScript' diff --git a/db/seeds/technology/leaflet.rb b/db/seeds/technology/leaflet.rb index d3427595..39a3d88c 100644 --- a/db/seeds/technology/leaflet.rb +++ b/db/seeds/technology/leaflet.rb @@ -2,6 +2,7 @@ technology_leaflet = Technology.where(slug: 'leaflet').first_or_initialize icon_leaflet_wordmark_svg = File.read('./db/seeds/technology/svg/leaflet-wordmark.svg') technology_leaflet.assign_attributes( + emoji: '๐Ÿƒ๐Ÿ—บ๏ธ', github_repo: 'Leaflet/Leaflet', icon_wordmark: icon_leaflet_wordmark_svg, name: 'leaflet', diff --git a/db/seeds/technology/linux.rb b/db/seeds/technology/linux.rb index 57a8becc..38854396 100644 --- a/db/seeds/technology/linux.rb +++ b/db/seeds/technology/linux.rb @@ -2,6 +2,7 @@ technology_linux = Technology.where(slug: 'linux').first_or_initialize icon_linux_original_svg = File.read('./db/seeds/technology/svg/linux-original.svg') technology_linux.assign_attributes( + emoji: '๐Ÿง๐Ÿ–ฅ๏ธ', icon: icon_linux_original_svg, name: 'linux', title: 'GNU/Linux' diff --git a/db/seeds/technology/mathematica.rb b/db/seeds/technology/mathematica.rb index e360b648..f50b897c 100644 --- a/db/seeds/technology/mathematica.rb +++ b/db/seeds/technology/mathematica.rb @@ -2,6 +2,7 @@ technology_mathematica = Technology.where(slug: 'mathematica').first_or_initialize icon_mathematica_svg = File.read('./db/seeds/technology/svg/mathematica.svg') technology_mathematica.assign_attributes( + emoji: '๐Ÿงฎ๐Ÿ“Š๐Ÿ’ป', icon: icon_mathematica_svg, name: 'mathematica', title: 'Mathematica', diff --git a/db/seeds/technology/matlab.rb b/db/seeds/technology/matlab.rb index fb7aa54d..c36f4e84 100644 --- a/db/seeds/technology/matlab.rb +++ b/db/seeds/technology/matlab.rb @@ -2,6 +2,7 @@ technology_matlab = Technology.where(slug: 'matlab').first_or_initialize icon_matlab_original_svg = File.read('./db/seeds/technology/svg/matlab-original.svg') technology_matlab.assign_attributes( + emoji: '๐Ÿ“Š๐Ÿ”ข๐Ÿ’ป', icon: icon_matlab_original_svg, name: 'MATLAB', title: 'MATLAB', diff --git a/db/seeds/technology/minitest.rb b/db/seeds/technology/minitest.rb index 24e71253..5bc72435 100644 --- a/db/seeds/technology/minitest.rb +++ b/db/seeds/technology/minitest.rb @@ -2,6 +2,7 @@ technology_minitest = Technology.where(slug: 'minitest').first_or_initialize icon_minitest_svg = File.read('./db/seeds/technology/svg/minitest-spec-rails.svg') technology_minitest.assign_attributes( + emoji: '๐Ÿงช๐Ÿ“', github_repo: 'minitest/minitest', icon: icon_minitest_svg, name: 'minitest', diff --git a/db/seeds/technology/mysql.rb b/db/seeds/technology/mysql.rb index 8f74e47b..d72baa25 100644 --- a/db/seeds/technology/mysql.rb +++ b/db/seeds/technology/mysql.rb @@ -3,6 +3,7 @@ icon_mysql_original_svg = File.read('./db/seeds/technology/svg/mysql-original.svg') icon_mysql_wordmark_svg = File.read('./db/seeds/technology/svg/mysql-original-wordmark.svg') technology_mysql.assign_attributes( + emoji: '๐Ÿฌ๐Ÿ“Š', icon: icon_mysql_original_svg, icon_wordmark: icon_mysql_wordmark_svg, name: 'mysql', diff --git a/db/seeds/technology/opensearch.rb b/db/seeds/technology/opensearch.rb index 53abd06a..d1b82f3a 100644 --- a/db/seeds/technology/opensearch.rb +++ b/db/seeds/technology/opensearch.rb @@ -3,6 +3,7 @@ icon_opensearch_original_svg = File.read('./db/seeds/technology/svg/opensearch_logo_default.svg') icon_opensearch_wordmark_svg = File.read('./db/seeds/technology/svg/opensearch_mark_default.svg') technology_opensearch.assign_attributes( + emoji: '๐Ÿ”๐ŸŒ๐Ÿ”“', github_repo: 'opensearch-project/OpenSearch', icon: icon_opensearch_original_svg, icon_wordmark: icon_opensearch_wordmark_svg, diff --git a/db/seeds/technology/pivotal_tracker.rb b/db/seeds/technology/pivotal_tracker.rb index a5441399..18b5d90e 100644 --- a/db/seeds/technology/pivotal_tracker.rb +++ b/db/seeds/technology/pivotal_tracker.rb @@ -2,6 +2,7 @@ technology_pivotal_tracker = Technology.where(slug: 'pivotal-tracker').first_or_initialize icon_pivotal_tracker_svg = File.read('./db/seeds/technology/svg/pivotal-tracker.svg') technology_pivotal_tracker.assign_attributes( + emoji: '๐Ÿ“Š๐Ÿš€๐Ÿ”', icon: icon_pivotal_tracker_svg, name: 'Pivotal Tracker', title: 'Pivotal Tracker', diff --git a/db/seeds/technology/playwright.rb b/db/seeds/technology/playwright.rb index 5baf5fbd..08b7ef1e 100644 --- a/db/seeds/technology/playwright.rb +++ b/db/seeds/technology/playwright.rb @@ -2,6 +2,7 @@ technology_playwright = Technology.where(slug: 'playwright').first_or_initialize icon_playwright_original_svg = File.read('./db/seeds/technology/svg/playwright.svg') technology_playwright.assign_attributes( + emoji: '๐ŸŽญ๐ŸŽฎ', github_repo: 'microsoft/playwright', icon: icon_playwright_original_svg, name: 'playwright', diff --git a/db/seeds/technology/postgis.rb b/db/seeds/technology/postgis.rb index e57d40d8..0c476103 100644 --- a/db/seeds/technology/postgis.rb +++ b/db/seeds/technology/postgis.rb @@ -3,6 +3,7 @@ icon_postgis_brand_svg = File.read('./db/seeds/technology/svg/postgis-brand.svg') _icon_postgis_original_svg = File.read('./db/seeds/technology/svg/postgis.svg') technology_postgis.assign_attributes( + emoji: '๐ŸŒ๐Ÿ—บ๏ธ๐Ÿ“Š', github_repo: 'postgis/postgis', icon: icon_postgis_brand_svg, name: 'postgis', diff --git a/db/seeds/technology/postgresql.rb b/db/seeds/technology/postgresql.rb index 29449c12..54a168c9 100644 --- a/db/seeds/technology/postgresql.rb +++ b/db/seeds/technology/postgresql.rb @@ -3,6 +3,7 @@ icon_postgresql_original_svg = File.read('./db/seeds/technology/svg/postgresql-original.svg') icon_postgresql_wordmark_svg = File.read('./db/seeds/technology/svg/postgresql-original-wordmark.svg') technology_postgresql.assign_attributes( + emoji: '๐Ÿ˜๐Ÿ“Š', icon: icon_postgresql_original_svg, icon_wordmark: icon_postgresql_wordmark_svg, name: 'postgresql', diff --git a/db/seeds/technology/python.rb b/db/seeds/technology/python.rb index bff2cf03..2fad251a 100644 --- a/db/seeds/technology/python.rb +++ b/db/seeds/technology/python.rb @@ -3,6 +3,7 @@ icon_python_original_svg = File.read('./db/seeds/technology/svg/python-original.svg') icon_python_wordmark_svg = File.read('./db/seeds/technology/svg/python-original-wordmark.svg') technology_python.assign_attributes( + emoji: '๐Ÿ๐Ÿ‘จโ€๐Ÿ’ป', icon: icon_python_original_svg, icon_wordmark: icon_python_wordmark_svg, name: 'python', diff --git a/db/seeds/technology/react.rb b/db/seeds/technology/react.rb index 0eca5a57..12ffb13b 100644 --- a/db/seeds/technology/react.rb +++ b/db/seeds/technology/react.rb @@ -3,6 +3,7 @@ icon_react_original_svg = File.read('./db/seeds/technology/svg/react-original.svg') icon_react_wordmark_svg = File.read('./db/seeds/technology/svg/react-original-wordmark.svg') technology_react.assign_attributes( + emoji: 'โš›๏ธ๐Ÿš€', github_repo: 'facebook/react', icon: icon_react_original_svg, icon_wordmark: icon_react_wordmark_svg, diff --git a/db/seeds/technology/red_hat.rb b/db/seeds/technology/red_hat.rb index d2f96695..327a9fe9 100644 --- a/db/seeds/technology/red_hat.rb +++ b/db/seeds/technology/red_hat.rb @@ -3,6 +3,7 @@ icon_red_hat_original_svg = File.read('./db/seeds/technology/svg/redhat-original.svg') icon_red_hat_wordmark_svg = File.read('./db/seeds/technology/svg/redhat-original-wordmark.svg') technology_red_hat_linux.assign_attributes( + emoji: '๐ŸŽฉ๐Ÿ”ด', icon: icon_red_hat_original_svg, icon_wordmark: icon_red_hat_wordmark_svg, name: 'Red Hat', diff --git a/db/seeds/technology/rspec.rb b/db/seeds/technology/rspec.rb index ac481fc6..ccb7280d 100644 --- a/db/seeds/technology/rspec.rb +++ b/db/seeds/technology/rspec.rb @@ -3,6 +3,7 @@ icon_rspec_original_svg = File.read('./db/seeds/technology/svg/rspec-original.svg') icon_rspec_wordmark_svg = File.read('./db/seeds/technology/svg/rspec-original-wordmark.svg') technology_rspec.assign_attributes( + emoji: '๐Ÿšฅ๐Ÿ“', github_repo: 'rspec/rspec-core', icon: icon_rspec_original_svg, icon_wordmark: icon_rspec_wordmark_svg, diff --git a/db/seeds/technology/ruby.rb b/db/seeds/technology/ruby.rb index fe6fdcf9..bc5f3fc5 100644 --- a/db/seeds/technology/ruby.rb +++ b/db/seeds/technology/ruby.rb @@ -3,6 +3,7 @@ icon_ruby_original_svg = File.read('./db/seeds/technology/svg/ruby-original.svg') icon_ruby_wordmark_svg = File.read('./db/seeds/technology/svg/ruby-original-wordmark.svg') technology_ruby.assign_attributes( + emoji: '๐Ÿ’Ž', github_repo: 'ruby/ruby', icon: icon_ruby_original_svg, icon_wordmark: icon_ruby_wordmark_svg, diff --git a/db/seeds/technology/ruby_on_rails.rb b/db/seeds/technology/ruby_on_rails.rb index dc772ec9..4eecf6f1 100644 --- a/db/seeds/technology/ruby_on_rails.rb +++ b/db/seeds/technology/ruby_on_rails.rb @@ -2,6 +2,7 @@ technology_ruby_on_rails = Technology.where(slug: 'ruby-on-rails').first_or_initialize icon_ruby_on_rails_wordmark_svg = File.read('./db/seeds/technology/svg/rails-original-wordmark.svg') technology_ruby_on_rails.assign_attributes( + emoji: '๐Ÿ›ค๏ธ๐Ÿš‚', github_repo: 'rails/rails', icon_wordmark: icon_ruby_on_rails_wordmark_svg, name: 'rails', diff --git a/db/seeds/technology/selenium_ide.rb b/db/seeds/technology/selenium_ide.rb index 3499dbdf..d4935174 100644 --- a/db/seeds/technology/selenium_ide.rb +++ b/db/seeds/technology/selenium_ide.rb @@ -2,6 +2,7 @@ technology_selenium_ide = Technology.where(slug: 'selenium-ide').first_or_initialize icon_selenium_ide_svg = File.read('./db/seeds/technology/svg/selenium-ide.svg') technology_selenium_ide.assign_attributes( + emoji: '๐Ÿ•ท๏ธ๐Ÿ› ๏ธ๐Ÿ–ฑ๏ธ', github_repo: 'seleniumhq/selenium-ide', name: 'Selenium IDE', title: 'Selenium IDE', diff --git a/db/seeds/technology/selenium_webdriver.rb b/db/seeds/technology/selenium_webdriver.rb index 547bef80..606f35e1 100644 --- a/db/seeds/technology/selenium_webdriver.rb +++ b/db/seeds/technology/selenium_webdriver.rb @@ -2,6 +2,7 @@ technology_selenium_webdriver = Technology.where(slug: 'selenium-webdriver').first_or_initialize icon_selenium_webdriver_svg = File.read('./db/seeds/technology/svg/selenium-webdriver.svg') technology_selenium_webdriver.assign_attributes( + emoji: '๐Ÿ•ท๏ธ๐Ÿš—๐Ÿ’ป', github_repo: 'seleniumhq/selenium', icon: icon_selenium_webdriver_svg, name: 'Selenium WebDriver', diff --git a/db/seeds/technology/shoulda_matchers.rb b/db/seeds/technology/shoulda_matchers.rb index f46a89df..a1006c4e 100644 --- a/db/seeds/technology/shoulda_matchers.rb +++ b/db/seeds/technology/shoulda_matchers.rb @@ -3,6 +3,7 @@ icon_shoulda_matchers_original_svg = File.read('./db/seeds/technology/svg/shoulda-matchers.svg') _icon_shoulda_matchers_wordmark_svg = File.read('./db/seeds/technology/svg/shoulda-matchers-wordmark.svg') technology_shoulda_matchers.assign_attributes( + emoji: '๐Ÿงฆ', github_repo: 'thoughtbot/shoulda-matchers', icon: icon_shoulda_matchers_original_svg, name: 'Shoulda Matchers', diff --git a/db/seeds/technology/sinatra.rb b/db/seeds/technology/sinatra.rb index d87d6dea..a2fb2b23 100644 --- a/db/seeds/technology/sinatra.rb +++ b/db/seeds/technology/sinatra.rb @@ -2,6 +2,7 @@ technology_sinatra = Technology.where(slug: 'sinatra').first_or_initialize icon_sinatra_svg = File.read('./db/seeds/technology/svg/sinatra.svg') technology_sinatra.assign_attributes( + emoji: '๐ŸŽค๐ŸŽธ๐Ÿ•บ', github_repo: 'sinatra/sinatra', icon: icon_sinatra_svg, name: 'sinatra', diff --git a/db/seeds/technology/sqlite.rb b/db/seeds/technology/sqlite.rb index efb4d2af..55d2bd77 100644 --- a/db/seeds/technology/sqlite.rb +++ b/db/seeds/technology/sqlite.rb @@ -3,6 +3,7 @@ icon_sqlite_original_svg = File.read('./db/seeds/technology/svg/sqlite-original.svg') icon_sqlite_wordmark_svg = File.read('./db/seeds/technology/svg/sqlite-original-wordmark.svg') technology_sqlite.assign_attributes( + emoji: '๐Ÿ—ƒ๏ธ๐Ÿ“Š', github_repo: 'sqlite/sqlite', icon: icon_sqlite_original_svg, icon_wordmark: icon_sqlite_wordmark_svg, diff --git a/db/seeds/technology/terraform.rb b/db/seeds/technology/terraform.rb index 59f97db2..b1dd1998 100644 --- a/db/seeds/technology/terraform.rb +++ b/db/seeds/technology/terraform.rb @@ -3,6 +3,7 @@ icon_terraform_original_svg = File.read('./db/seeds/technology/svg/terraform-original.svg') icon_terraform_wordmark_svg = File.read('./db/seeds/technology/svg/terraform-original-wordmark.svg') technology_terraform.assign_attributes( + emoji: '๐ŸŒ๐Ÿ—๏ธ', github_repo: 'hashicorp/terraform', icon: icon_terraform_original_svg, icon_wordmark: icon_terraform_wordmark_svg, diff --git a/db/seeds/technology/trello.rb b/db/seeds/technology/trello.rb index 0679ef3d..0a6ef84b 100644 --- a/db/seeds/technology/trello.rb +++ b/db/seeds/technology/trello.rb @@ -3,6 +3,7 @@ icon_trello_plain_svg = File.read('./db/seeds/technology/svg/trello-plain.svg') icon_trello_wordmark_svg = File.read('./db/seeds/technology/svg/trello-plain-wordmark.svg') technology_trello.assign_attributes( + emoji: '๐Ÿ“Œ๐Ÿ—‚๏ธ๐Ÿ“†', icon: icon_trello_plain_svg, icon_wordmark: icon_trello_wordmark_svg, name: 'Trello', diff --git a/db/seeds/technology/truffleruby.rb b/db/seeds/technology/truffleruby.rb index 70603ae4..4347ee30 100644 --- a/db/seeds/technology/truffleruby.rb +++ b/db/seeds/technology/truffleruby.rb @@ -2,6 +2,7 @@ technology_truffleruby = Technology.where(slug: 'truffleruby').first_or_initialize icon_truffleruby_svg = File.read('./db/seeds/technology/svg/truffleruby.svg') technology_truffleruby.assign_attributes( + emoji: '๐Ÿ”๐Ÿ’Ž๐Ÿš€', github_repo: 'oracle/truffleruby', icon: icon_truffleruby_svg, name: 'truffleruby',