Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
## Introduction
The Africa Ruby Community (ARC) Platform is a project aimed at creating a hub for Ruby language enthusiasts in Africa. This platform facilitates connection, knowledge sharing, collaboration on projects, and staying updated with the latest Ruby community developments. Whether you're a seasoned developer or a beginner, this platform offers tailored resources for different countries and cities, merchandise, meetup information, and details about online workshops and webinars.

- **RubyConf Africa:** [RubyConf Africa](https://rubyconf.africa)
- **Merch Store:** [ARC Merch Store](https://shop.rubycommunity.africa)
- **Project Design:** [ARC Platform Design](https://still-snowflake-8822.animaapp.io/)
- **Database Design:** [ARC Database Design](https://dbdiagram.io/d/62afab7c9921fe2a96397c1e)

Expand Down
27 changes: 27 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Security Policy

## Supported Versions

Please refer to the table below for the status of security updates for versions of this project.

| Version | Supported |
| ------- | ------------------ |
| main | :white_check_mark: |

## Reporting a Vulnerability

The Africa Ruby Community (ARC) team takes the security of our platform and community seriously. If you discover a security vulnerability, we appreciate your help in disclosing it to us responsibly.

### How to Report

- **Do NOT** report security vulnerabilities through public GitHub issues, discussions, or pull requests.
- Please report security vulnerabilities via GitHub's private vulnerability reporting feature on this repository, or by emailing the project maintainers directly.
- Include a detailed description of the vulnerability, steps to reproduce, proof of concept (if applicable), and potential impact.

### What to Expect

- **Acknowledgment:** We will acknowledge receipt of your vulnerability report within 48 hours.
- **Assessment:** We will assess the report and confirm the vulnerability.
- **Fix & Disclosure:** We will work on a fix in a private branch/security advisory and release a patch as quickly as possible. We will coordinate public disclosure with you once the vulnerability is addressed.

Thank you for helping keep the Africa Ruby Community safe!
Binary file added app/assets/images/sponsors/current/easyqna.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed app/assets/images/sponsors/current/fata.png
Binary file not shown.
Binary file added app/assets/images/sponsors/current/remiapp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed app/assets/images/sponsors/current/ustechnology.jpeg
Binary file not shown.
15 changes: 8 additions & 7 deletions app/helpers/chapters_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,13 @@ module ChaptersHelper
alt_key: 'sponsors.current.typesense' },
{ image: 'sponsors/current/sidekiq.png', link: 'https://sidekiq.org/',
alt_key: 'sponsors.current.sidekiq' },
{ image: 'sponsors/current/fata.png', link: 'https://fata.dev/',
alt_key: 'sponsors.current.fata' },
{ image: 'sponsors/current/finplus.png', link: 'https://finplusgroup.com', alt_key: 'sponsors.current.finplus' },
{ image: 'sponsors/current/senga.png', link: 'https://senga.co/',
alt_key: 'sponsors.current.senga' },
{ image: 'sponsors/current/ustechnology.jpeg', link: 'https://ustechmiami.com/',
alt_key: 'sponsors.current.ustechnologies' },
{ image: 'sponsors/current/easyqna.jpeg', link: 'https://www.biztimamtechnologies.com/',
alt_key: 'sponsors.current.easyqna' },
{ image: 'sponsors/current/remiapp.png', link: 'https://remiapp.ai/',
alt_key: 'sponsors.current.remiapp' },
{ image: 'sponsors/current/kodees.png', link: 'https://www.kodees.co.ke/', alt_key: 'sponsors.current.kodees' },
{ image: 'sponsors/current/rubycon_italy.png', link: 'https://rubycon.it/',
alt_key: 'sponsors.current.rubycon_italy' }
Expand All @@ -41,14 +42,14 @@ module ChaptersHelper

{ image: 'sponsors/current/ruby_central.png', link: 'https://rubycentral.org/',
alt_key: 'sponsors.current.ruby_central' },
{ image: 'sponsors/current/finplus.png', link: 'https://finplusgroup.com', alt_key: 'sponsors.current.finplus' },

{ image: 'sponsors/previous/solutech_official.svg', link: 'https://solutech.co.ke',
alt_key: 'sponsors.current.solutech' },
{ image: 'sponsors/previous/daystar.png', link: 'https://www.daystar.ac.ke/', alt_key: 'sponsors.current.daystar' },
{ image: 'sponsors/current/prosper.png', link: 'https://www.prosperhedge.com/',
alt_key: 'sponsors.current.prosper' },
{ image: 'sponsors/previous/gurzu.png', link: 'https://gurzu.com/', alt_key: 'sponsors.current.gurzu' },
{ image: 'sponsors/current/must-company.png', link: 'https://must.company/', alt_key: 'sponsors.current.must_company' }
{ image: 'sponsors/previous/gurzu.png', link: 'https://gurzu.com/', alt_key: 'sponsors.current.gurzu' }

].freeze

SOCIALS = [
Expand Down
2 changes: 1 addition & 1 deletion app/views/landing/home/_featured_sponsors.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<div class="max-w-7xl mx-auto">
<div class="text-center mb-10">
<h2 class="arc-heading arc-heading-center text-2xl"><%= t('landing.index.sponsors.featured_title') %></h2>
<p class="arc-text-base mt-3 text-sm"><%= t('landing.index.sponsors.become_sponsor_hint', default: 'Our generous partners who make the community possible') %></p>
<p class="arc-text-base mt-3 text-sm"><%= t('landing.index.sponsors.featured_description', default: 'Our generous partners who make the community possible') %></p>
</div>

<div class="flex flex-wrap justify-center items-center gap-8 lg:gap-12">
Expand Down
4 changes: 2 additions & 2 deletions app/views/landing/home/_intro.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@
<%# Main Headline %>
<h1 class="text-slate-900 dark:text-white font-extrabold leading-[1.15] mb-6 tracking-tight max-w-4xl mx-auto" style="font-size: clamp(2.4rem, 6vw, 4.2rem);">
<span class="dark:text-transparent dark:bg-clip-text dark:bg-gradient-to-r dark:from-white dark:via-ruby-100 dark:to-amber-200">
Building the future with Ruby in Africa
<%= t('landing.index.intro.hero_title') %>
</span>
</h1>

<%# Subtitle Paragraph %>
<p class="text-slate-700 dark:text-white/80 text-lg sm:text-xl font-normal mb-10 max-w-2xl mx-auto leading-relaxed">
A community of 5,000+ developers, entrepreneurs, and designers across East Africa united by their passion for Ruby and open-source software.
<%= t('landing.index.intro.hero_description') %>
</p>

<%# Stats pills %>
Expand Down
2 changes: 1 addition & 1 deletion app/views/landing/home/_previous_sponsors.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<div class="max-w-7xl mx-auto">
<div class="text-center mb-10">
<h2 class="arc-heading arc-heading-center text-2xl"><%= t('landing.index.sponsors.previous_title') %></h2>
<p class="arc-text-base mt-3 text-sm"><%= t('landing.index.sponsors.previous_hint', default: 'Organizations that have supported our mission over the years') %></p>
<p class="arc-text-base mt-3 text-sm"><%= t('landing.index.sponsors.previous_description', default: 'Organizations that have supported our mission over the years') %></p>
</div>

<div class="flex flex-wrap justify-center items-center gap-8 lg:gap-12 mb-12">
Expand Down
6 changes: 5 additions & 1 deletion app/views/layouts/_footer.html.erb
Comment thread
JudahSan marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@
class: "inline-block text-base-content/70 hover:text-red-500 dark:hover:text-red-400 transition-colors duration-200" %>
</li>
<% end %>
<li>
<%= link_to t('footer.merch_store'), "https://shop.rubycommunity.africa", target: "_blank", rel: "noopener",
class: "inline-block text-base-content/70 hover:text-red-500 dark:hover:text-red-400 transition-colors duration-200" %>
</li>
</ul>
</div>

Expand Down Expand Up @@ -73,7 +77,7 @@
</li>
<% end %>
<li>
<%= link_to "Code of Conduct", landing_code_of_conduct_path,
<%= link_to t('footer.code_of_conduct'), landing_code_of_conduct_path,
class: "inline-block text-base-content/70 hover:text-red-500 dark:hover:text-red-400 transition-colors duration-200" %>
</li>
</ul>
Expand Down
2 changes: 2 additions & 0 deletions app/views/layouts/_navbar.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
<li><%= link_to t('navigation.events'), events_path, class: "text-sm" %></li>
<li><%= link_to t('navigation.chapters'), chapters_path, class: "text-sm" %></li>
<li><%= link_to t('navigation.projects'), projects_path, class: "text-sm" %></li>
<li><%= link_to t('navigation.merch_store'), "https://shop.rubycommunity.africa", target: "_blank", rel: "noopener", class: "text-sm" %></li>
<li><%= link_to t('navigation.code_of_conduct'), landing_code_of_conduct_path, class: "text-sm" %></li>
</ul>
</div>
Expand Down Expand Up @@ -134,6 +135,7 @@
<% end %>

<li><%= link_to t('navigation.built_with_ruby'), built_with_ruby_path, class: "rounded-xl font-medium" %></li>
<li><%= link_to t('navigation.merch_store'), "https://shop.rubycommunity.africa", target: "_blank", rel: "noopener", class: "rounded-xl font-medium" %></li>
<li><%= link_to t('navigation.code_of_conduct'), landing_code_of_conduct_path, class: "rounded-xl font-medium" %></li>

<!-- <li class="divider my-1"></li>-->
Expand Down
17 changes: 12 additions & 5 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,15 @@ en:
index:
intro:
title: "African Ruby Community"
subtitle: "Ruby Conf Africa 2026"
conference_dates: "21st–22nd August 2026"
subtitle: "Ruby Conf Africa 2027"
conference_dates: "21st–22nd May 2027"
conference_description: "Join the largest Ruby conference in Africa!"
description: "A community organization that seeks to promote computer software programming skills with the Ruby programming language."
members_count: "Members across East Africa"
years_count: "Years of Ruby community"
conference_alt: "Ruby Conf Africa 2025"
conference_alt: "Ruby Conf Africa 2027"
hero_title: "Building the future with Ruby in Africa"
hero_description: "A community of 5,000+ developers, entrepreneurs, and designers across East Africa united by their passion for Ruby and open-source software."
who_we_are:
title: "African Ruby Community"
subtitle: "Who are We?"
Expand Down Expand Up @@ -276,6 +278,9 @@ en:
finplus: "Finplus Group"
typesense: "Typesense"
sidekiq: "Sidekiq"
senga: "Senga"
easyqna: "EasyQna"
remiapp: "Remiapp"

previous:
solutech: "Solutech"
Expand All @@ -287,7 +292,7 @@ en:
daystar: "Daystar"
prosper: "Prosper Hedge"
gurzu: "Gurzu"
must_company: "Must Company"


social_media:
twitter: "ARC Twitter"
Expand Down Expand Up @@ -340,6 +345,7 @@ en:
conferences: "Conferences"
chapters: "Chapters"
projects: "Projects"
merch_store: "Merch Store"
learning_materials: "Learning Materials"
built_with_ruby: "Built with Ruby"
sign_in: "Sign in"
Expand Down Expand Up @@ -376,6 +382,7 @@ en:
events: "Events"
chapters: "Chapters"
projects: "Projects"
merch_store: "Merch Store"
learning_materials: "Learning materials"
sponsor: "Sponsor"
members: "Members"
Expand All @@ -387,7 +394,7 @@ en:
made_with: "Made with"
by_arc: "by African Ruby Community"
about_details: "African Ruby Community. Empowering 5,000+ developers, creators, and tech leaders across Africa through Ruby, open source, and collaborative innovation since 2010."
copyright: "All Rights Reserved. African Ruby Community. Copyright %{year}"
copyright: "© %{year} African Ruby Community. All Rights Reserved."

# Learning Materials page translations
learning_materials:
Expand Down
18 changes: 13 additions & 5 deletions config/locales/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,15 @@ fr:
index:
intro:
title: "Communauté Ruby Africaine"
subtitle: "Ruby Conf Africa 2026"
conference_dates: "21-22 août 2026"
subtitle: "Ruby Conf Africa 2027"
conference_dates: "21-22 mai 2027"
conference_description: "Rejoignez la plus grande conférence Ruby en Afrique !"
description: "Une organisation communautaire qui cherche à promouvoir les compétences de programmation logicielle avec le langage de programmation Ruby."
members_count: "Membres à travers l'Afrique de l'Est"
years_count: "Années de communauté Ruby"
conference_alt: "Ruby Conf Africa 2025"
conference_alt: "Ruby Conf Africa 2027"
hero_title: "Bâtir l'avenir avec Ruby en Afrique"
hero_description: "Une communauté de plus de 5 000 développeurs, entrepreneurs et designers à travers l'Afrique de l'Est, unis par leur passion pour Ruby et les logiciels open source."
who_we_are:
title: "Communauté Ruby Africaine"
subtitle: "Qui sommes-nous ?"
Expand Down Expand Up @@ -274,6 +276,9 @@ fr:
typesense: "Typesense"
sidekiq: "Sidekiq"
rubycon_italy: "Rubycon Italy"
senga: "Senga"
easyqna: "EasyQna"
remiapp: "Remiapp"

previous:
solutech: "Solutech"
Expand All @@ -285,7 +290,7 @@ fr:
daystar: "Daystar"
prosper: "Prosper Hedge"
gurzu: "Gurzu"
must_company: "Must Company"


social_media:
twitter: "ARC Twitter"
Expand Down Expand Up @@ -338,7 +343,9 @@ fr:
conferences: "Conférences"
chapters: "Chapitres"
projects: "Projets"
merch_store: "Boutique"
learning_materials: "Matériel d'Apprentissage"
built_with_ruby: "Développé avec Ruby"
sign_in: "Se connecter"
sign_up: "S'inscrire"
sign_out: "Se déconnecter"
Expand Down Expand Up @@ -374,6 +381,7 @@ fr:
events: "Événements"
chapters: "Chapitres"
projects: "Projets"
merch_store: "Boutique"
learning_materials: "Matériel d'apprentissage"
sponsor: "Sponsor"
members: "Membres"
Expand All @@ -385,7 +393,7 @@ fr:
made_with: "Fait avec"
by_arc: "par African Ruby Community"
about_details: "African Ruby Community. Autonomiser plus de 5 000 développeurs, créateurs et leaders technologiques à travers l'Afrique grâce à Ruby, au logiciel libre et à l'innovation collaborative depuis 2010."
copyright: "Tous droits réservés. Communauté Ruby Africaine. Copyright %{year}"
copyright: "© %{year} Communauté Ruby Africaine. Tous droits réservés."

# Learning Materials page translations
learning_materials:
Expand Down
20 changes: 14 additions & 6 deletions config/locales/sw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,15 @@ sw:
index:
intro:
title: "Jumuiya ya Ruby ya Kiafrika"
subtitle: "Ruby Conf Africa 2026"
conference_dates: "21-22 Agosti 2026"
subtitle: "Ruby Conf Africa 2027"
conference_dates: "21-22 Mei 2027"
conference_description: "Jiunge na mkutano mkuu wa Ruby nchini Afrika!"
description: "Shirika la kijamii linaloongoza ustadi wa uprogramu wa kompyuta kwa kutumia lugha ya uprogramu ya Ruby."
members_count: "Wanachama katika Afrika Mashariki"
years_count: "Miaka ya jumuiya ya Ruby"
conference_alt: "Ruby Conf Africa 2025"
conference_alt: "Ruby Conf Africa 2027"
hero_title: "Kujenga siku zijazo kupitia Ruby nchini Afrika"
hero_description: "Jamii ya wasanidi programu, wajasiriamali, na wabunifu zaidi ya 5,000 kote Afrika Mashariki waliounganishwa na mapenzi yao kwa Ruby na programu za chanzo huria."
who_we_are:
title: "Jumuiya ya Ruby ya Kiafrika"
subtitle: "Sisi ni nani?"
Expand Down Expand Up @@ -273,6 +275,9 @@ sw:
finplus: "Finplus Group"
typesense: "Typesense"
sidekiq: "Sidekiq"
senga: "Senga"
easyqna: "EasyQna"
remiapp: "Remiapp"

previous:
solutech: "Solutech"
Expand All @@ -284,7 +289,7 @@ sw:
daystar: "Daystar"
prosper: "Prosper Hedge"
gurzu: "Gurzu"
must_company: "Must Company"


social_media:
twitter: "ARC Twitter"
Expand Down Expand Up @@ -337,7 +342,9 @@ sw:
conferences: "Mikutano"
chapters: "Sura"
projects: "Miradi"
merch_store: "Duka la Bidhaa"
learning_materials: "Nyenzo za Kujifunzia"
built_with_ruby: "Imejengwa kwa Ruby"
sign_in: "Ingia"
sign_up: "Jisajili"
sign_out: "Toka"
Expand Down Expand Up @@ -372,19 +379,20 @@ sw:
events: "Matukio"
chapters: "Sura"
projects: "Miradi"
merch_store: "Duka la Bidhaa"
learning_materials: "Nyenzo za kujifunzia"
sponsor: "Mfadhili"
members: "Wanachama"
about: "Kuhusu"
built_with_ruby: "Imetengenezwe kwa Ruby"
built_wit_ruby: "Imejengwa kwa Ruby"
contact_us: "Wasiliana Nasi"
code_of_conduct: "Kanuni za maadili"
connect: "Unganisha"
made_with: "Imetengenezwe kwa"
by_arc: "na African Ruby Community"

about_details: "African Ruby Community. Kukuza na kuwezesha zaidi ya wataalamu 5,000 wa mfumo wa kidijitali, wabunifu na viongozi wa kiteknolojia kote Barani Afrika kupitia Ruby, chanzo wazi na ubunifu wa pamoja tangu 2010."
copyright: "Haki Zote Zimehifadhiwa. Jumuiya ya Ruby ya Kiafrika. Hakimiliki %{year}"
copyright: "© %{year} Jumuiya ya Ruby ya Kiafrika. Haki Zote Zimehifadhiwa."

# Learning Materials page translations
learning_materials:
Expand Down
Loading