From f9406398b153d614de08476a99b5402b2ed886bf Mon Sep 17 00:00:00 2001 From: Djoufson CHE BENE Date: Thu, 9 Apr 2026 21:01:58 +0100 Subject: [PATCH 1/4] Add About page and refresh Home design Implements the about page from issue #33 with story, mission, values and partners sections, extracts the partners grid into a reusable component, and modernizes the home page hero, stats and projects grid. Co-Authored-By: Claude Opus 4.6 --- src/app/Components/Components/Footer.razor | 7 +- src/app/Components/Components/NavBar.razor | 22 +- src/app/Components/Components/Partners.razor | 55 +++++ src/app/Components/Pages/About.razor | 223 +++++++++++++++++++ src/app/Components/Pages/Home.razor | 210 +++++++++-------- src/app/Resources/SharedResources.fr.resx | 200 +++++++++++++++++ src/app/Resources/SharedResources.resx | 200 +++++++++++++++++ 7 files changed, 806 insertions(+), 111 deletions(-) create mode 100644 src/app/Components/Components/Partners.razor create mode 100644 src/app/Components/Pages/About.razor diff --git a/src/app/Components/Components/Footer.razor b/src/app/Components/Components/Footer.razor index 8dbae4d..cbbfee3 100644 --- a/src/app/Components/Components/Footer.razor +++ b/src/app/Components/Components/Footer.razor @@ -31,13 +31,10 @@ }
  • - @L["Footer_About"] @L["Footer_Soon"] + @L["Footer_About"]
  • - @L["Footer_Projects"] @L["Footer_Soon"] -
  • -
  • - @L["Footer_Resources"] + @L["Footer_Contact"]
  • diff --git a/src/app/Components/Components/NavBar.razor b/src/app/Components/Components/NavBar.razor index d659c48..47534f2 100644 --- a/src/app/Components/Components/NavBar.razor +++ b/src/app/Components/Components/NavBar.razor @@ -49,18 +49,10 @@ } - @*
  • - About us -
  • - Projects + @SharedLocalizer["Nav_About"]
  • -
  • - Resources -
  • *@ @@ -113,14 +105,8 @@ Soon } - @* About us - Projects - Resources - Contact-us *@ + @SharedLocalizer["Nav_About"]
    diff --git a/src/app/Components/Components/Partners.razor b/src/app/Components/Components/Partners.razor new file mode 100644 index 0000000..b4391b4 --- /dev/null +++ b/src/app/Components/Components/Partners.razor @@ -0,0 +1,55 @@ +@using Microsoft.Extensions.Localization +@inject IStringLocalizerFactory LocalizerFactory + +
    +
    +
    + + @SharedLocalizer["Sponsors_Badge"] + +

    @SharedLocalizer["Sponsors_Title"]

    +

    @SharedLocalizer["Sponsors_Description"]

    +
    + +
    + @foreach (var partner in _partners) + { + + @partner.Name + + } +
    + + @if (ShowBecomePartner) + { +
    +

    @SharedLocalizer["Sponsors_JoinUs"]

    + + @SharedLocalizer["Sponsors_BecomePartner"] + +
    + } +
    +
    + +@code { + [Parameter] + public bool ShowBecomePartner { get; set; } = true; + + private IStringLocalizer? _sharedLocalizer; + private IStringLocalizer SharedLocalizer => _sharedLocalizer ??= LocalizerFactory.Create("SharedResources", "app"); + + private record Partner(string Name, string Image, string Url); + + private static readonly Partner[] _partners = + [ + new(".NET Foundation", "/assets/sponsors/dotnetfondation.webp", "https://dotnetfoundation.org"), + new("Packt", "/assets/sponsors/packt.svg", "https://www.packtpub.com/"), + new("Microsoft PowerPlatform Cameroun", "/assets/sponsors/Microsoft_PowerPlateform_Cameroun-removebg-preview.png", "https://www.linkedin.com/company/communaut%C3%A9-microsoft-powerplatform"), + new("Examboot", "/assets/sponsors/examboot.jpg", "https://examboot.net/"), + new("Itia Consulting", "/assets/sponsors/itia-removebg-preview.png", "https://itia-consulting.com"), + new("Proditech", "/assets/sponsors/proditech.png", "https://proditech-digital.com"), + ]; +} diff --git a/src/app/Components/Pages/About.razor b/src/app/Components/Pages/About.razor new file mode 100644 index 0000000..f0c6df0 --- /dev/null +++ b/src/app/Components/Pages/About.razor @@ -0,0 +1,223 @@ +@page "/about" +@using Microsoft.Extensions.Localization +@attribute [StreamRendering] +@inject IStringLocalizerFactory LocalizerFactory + +@SharedLocalizer["About_PageTitle"] + + + + + + + + + + + + +
    + + + +
    +
    +
    +
    + +
    +
    + + @SharedLocalizer["About_Hero_Badge"] + +

    + @((MarkupString)SharedLocalizer["About_Hero_Title"].Value) +

    +

    + @SharedLocalizer["About_Hero_Subtitle"] +

    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + .NET Cameroon community event +
    +
    + + @SharedLocalizer["About_Story_Badge"] + +

    @SharedLocalizer["About_Story_Title"]

    +
    +

    @SharedLocalizer["About_Story_Paragraph1"]

    +

    @SharedLocalizer["About_Story_Paragraph2"]

    +

    @SharedLocalizer["About_Story_Paragraph3"]

    +
    + +
    +
    +
    600+
    +

    @SharedLocalizer["Membership_Stats_Members"]

    +
    +
    +
    60+
    +

    @SharedLocalizer["Membership_Stats_Events"]

    +
    +
    +
    2023
    +

    @SharedLocalizer["About_Stats_Founded"]

    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    + + @SharedLocalizer["About_Mission_Badge"] + +

    @SharedLocalizer["About_Mission_Title"]

    +

    @SharedLocalizer["About_Mission_Intro"]

    +
    + +
    +
    +
    + +
    +

    @SharedLocalizer["About_Mission_1_Title"]

    +

    @SharedLocalizer["About_Mission_1_Description"]

    +
    + +
    +
    + +
    +

    @SharedLocalizer["About_Mission_2_Title"]

    +

    @SharedLocalizer["About_Mission_2_Description"]

    +
    + +
    +
    + +
    +

    @SharedLocalizer["About_Mission_3_Title"]

    +

    @SharedLocalizer["About_Mission_3_Description"]

    +
    + +
    +
    + +
    +

    @SharedLocalizer["About_Mission_4_Title"]

    +

    @SharedLocalizer["About_Mission_4_Description"]

    +
    + +
    +
    + +
    +

    @SharedLocalizer["About_Mission_5_Title"]

    +

    @SharedLocalizer["About_Mission_5_Description"]

    +
    + +
    +
    + +
    +

    @SharedLocalizer["About_Mission_6_Title"]

    +

    @SharedLocalizer["About_Mission_6_Description"]

    +
    +
    +
    +
    + + +
    +
    +
    + + @SharedLocalizer["About_Values_Badge"] + +

    @SharedLocalizer["About_Values_Title"]

    +
    + +
    +
    +
    + +
    +

    @SharedLocalizer["About_Value_Passion_Title"]

    +

    @SharedLocalizer["About_Value_Passion_Description"]

    +
    +
    +
    + +
    +

    @SharedLocalizer["About_Value_Collaboration_Title"]

    +

    @SharedLocalizer["About_Value_Collaboration_Description"]

    +
    +
    +
    + +
    +

    @SharedLocalizer["About_Value_Learning_Title"]

    +

    @SharedLocalizer["About_Value_Learning_Description"]

    +
    +
    +
    + +
    +

    @SharedLocalizer["About_Value_Impact_Title"]

    +

    @SharedLocalizer["About_Value_Impact_Description"]

    +
    +
    +
    +
    + + + + + +
    +
    +
    + +
    +

    + @SharedLocalizer["About_CTA_Title"] +

    +

    + @SharedLocalizer["About_CTA_Description"] +

    + +
    +
    +
    + +@code { + private IStringLocalizer? _sharedLocalizer; + private IStringLocalizer SharedLocalizer => _sharedLocalizer ??= LocalizerFactory.Create("SharedResources", "app"); +} diff --git a/src/app/Components/Pages/Home.razor b/src/app/Components/Pages/Home.razor index 62bfabf..0c82a38 100644 --- a/src/app/Components/Pages/Home.razor +++ b/src/app/Components/Pages/Home.razor @@ -1,4 +1,4 @@ -@page "/" +@page "/" @using app.business.Services @using app.domain.Models.ProjectsAggregate @using app.shared.Utilities @@ -32,31 +32,75 @@
    -
    +
    -
    -
    +
    +
    +
    -
    -

    - @((MarkupString)SharedLocalizer["Hero_Title"].Value)

    -

    @SharedLocalizer["Hero_Description"]

    -
    - @SharedLocalizer["Hero_LearnMore"] - @SharedLocalizer["Hero_JoinUs"] +
    +
    + + + + + + @SharedLocalizer["Hero_Badge"] + +
    +

    + @((MarkupString)SharedLocalizer["Hero_Title"].Value) +

    +

    @SharedLocalizer["Hero_Description"]

    + + + +
    + + +
    -
    +
    -

    @SharedLocalizer["WhatWeDo_Title"]

    -

    @SharedLocalizer["WhatWeDo_Description"]

    -
    +
    + + @SharedLocalizer["WhatWeDo_Badge"] + +

    @SharedLocalizer["WhatWeDo_Title"]

    +

    @SharedLocalizer["WhatWeDo_Description"]

    +
    +
    - -
    -
    -
    + +
    +
    -

    @SharedLocalizer["Membership_Title"]

    -

    @SharedLocalizer["Membership_Description"]

    - -
    -
    -
    -

    600+

    -

    @((MarkupString)SharedLocalizer["Membership_Stats_Members"].Value)

    +
    + + @SharedLocalizer["Membership_Badge"] + +

    @SharedLocalizer["Membership_Title"]

    +

    @SharedLocalizer["Membership_Description"]

    + +
    +
    +
    600+
    +

    @((MarkupString)SharedLocalizer["Membership_Stats_Members"].Value)

    -
    -

    2k+

    -

    @((MarkupString)SharedLocalizer["Membership_Stats_Followers"].Value)

    +
    +
    2k+
    +

    @((MarkupString)SharedLocalizer["Membership_Stats_Followers"].Value)

    -
    -
    -
    -

    60+

    -

    @SharedLocalizer["Membership_Stats_Events"]

    +
    +
    60+
    +

    @SharedLocalizer["Membership_Stats_Events"]

    -
    -

    6+

    -

    @((MarkupString)SharedLocalizer["Membership_Stats_Projects"].Value) -

    +
    +
    6+
    +

    @((MarkupString)SharedLocalizer["Membership_Stats_Projects"].Value)

    -
    - @SharedLocalizer["Membership_BecomeMember"] + +
    -
    -
    -

    @SharedLocalizer["Sponsors_Title"]

    -

    @SharedLocalizer["Sponsors_Description"]

    -
    - .NET Foundation - Packt - Microsoft PowerPlateform Cameroun - - Examboot - Itia - Proditech -
    -
    -
    + @if(_projects.Length > 0) { -
    +
    -

    @SharedLocalizer["Projects_Title"]

    -

    - @SharedLocalizer["Projects_Description"] -

    -
    +
    + + @SharedLocalizer["Projects_Badge"] + +

    @SharedLocalizer["Projects_Title"]

    +

    @SharedLocalizer["Projects_Description"]

    +
    +
    @foreach (var project in _projects) { -
    - @project.Title -

    @project.Description

    +
    +
    +

    @project.Title

    +

    @project.Description

    -
    - @foreach (var tech in project.Technologies.Split(',')) - { - #@tech - } +
    + @foreach (var tech in project.Technologies.Split(',')) + { + #@tech.Trim() + } +
    -
    +
    @if(!string.IsNullOrWhiteSpace(project.Github)) { - - + + } @if(!string.IsNullOrWhiteSpace(project.Website)) { - - + + }
    @@ -177,10 +211,10 @@ @code { private Project[] _projects = []; - + private IStringLocalizer? _sharedLocalizer; private IStringLocalizer SharedLocalizer => _sharedLocalizer ??= LocalizerFactory.Create("SharedResources", "app"); - + protected override async Task OnInitializedAsync() { await base.OnInitializedAsync(); diff --git a/src/app/Resources/SharedResources.fr.resx b/src/app/Resources/SharedResources.fr.resx index c47fa6b..b9c5ebe 100644 --- a/src/app/Resources/SharedResources.fr.resx +++ b/src/app/Resources/SharedResources.fr.resx @@ -965,4 +965,204 @@ Terminez la conférence avec des réflexions finales, des prix et des opportunités de réseautage continues. + + + À propos + + + + + Communauté active • +600 membres + + + + Défiler + + + + Nos activités + + + + Rejoignez-nous + + + + Open source + + + + + Nos partenaires + + + + Vous souhaitez soutenir la communauté .NET au Cameroun ? + + + + Devenir partenaire + + + + + .NET Cameroon 🇨🇲 | À propos + + + + Découvrez la communauté .NET Cameroon — notre histoire, notre mission et les partenaires qui nous aident à faire grandir l'écosystème .NET local. + + + + À propos de .NET Cameroon + + + + Faire grandir la communauté <span class="text-primary">.NET</span> au Cameroun 🇨🇲 + + + + Nous sommes un groupe passionné de développeurs, d'étudiants et de passionnés de technologie engagés à rendre .NET accessible, pertinent et impactant à travers le Cameroun et au-delà. + + + + Notre histoire + + + + Comment tout a commencé + + + + Tout a commencé le 5 septembre 2023, lorsque Djoufson Che a créé un petit groupe WhatsApp avec une idée simple : partager sa passion pour .NET et montrer qu'il s'agit d'une technologie puissante et pratique, parfaitement adaptée aux besoins locaux du Cameroun. + + + + Il a rapidement été rejoint par Jaures Beinjamin et Septime Lowe. Ensemble, ils ont commencé à structurer la communauté en organisant des événements, des conférences et des meetups, en ligne et à travers tout le pays. + + + + Aujourd'hui, la communauté .NET Cameroon compte plus de 600 membres actifs et continue de grandir, rassemblant développeurs, étudiants et passionnés de tech autour de la même envie : construire avec .NET. + + + + Fondée en + + + + Notre mission + + + + Ce qui nous anime + + + + Notre mission : faire grandir un écosystème .NET florissant, inclusif et ouvert au Cameroun — un développeur, un événement, un projet à la fois. + + + + Promouvoir l'écosystème .NET + + + + Mettre en avant la richesse des outils et bibliothèques disponibles pour les développeurs .NET via NuGet.org, GitHub et d'autres plateformes. + + + + Défendre l'open source + + + + Porter la voix des développeurs .NET open source au sein de la communauté locale et internationale. + + + + Évangéliser .NET + + + + Partager les atouts de la plateforme .NET avec une communauté plus large de développeurs, d'étudiants et de passionnés. + + + + Adopter l'open source + + + + Mettre en avant les avantages du modèle open source auprès des développeurs qui utilisent déjà .NET au quotidien. + + + + Soutenir les projets des membres + + + + Offrir un soutien administratif, de la visibilité et du mentorat aux projets portés par les membres de notre communauté. + + + + Animer les événements communautaires + + + + Soutenir les événements .NET de la communauté avec du sponsoring, des intervenants et des contenus de qualité à travers le pays. + + + + Nos valeurs + + + + Ce en quoi nous croyons + + + + Passion + + + + Nous aimons ce que nous faisons, et ça se ressent dans chaque événement, talk et ligne de code partagés. + + + + Collaboration + + + + Nous grandissons ensemble, en nous aidant à acquérir de meilleures compétences et à construire de meilleurs projets. + + + + Apprentissage + + + + Nous sommes curieux, toujours en train d'apprendre, et toujours prêts à partager ce que nous découvrons. + + + + Impact + + + + Nous bâtissons pour le continent, avec des solutions qui répondent à de vrais problèmes locaux. + + + + Prêt à rejoindre le mouvement ? + + + + Connectez-vous avec des centaines de développeurs .NET passionnés à travers le Cameroun. Partagez, apprenez, construisez — et grandissez avec nous. + + + + Rejoindre la communauté + + + + Nous contacter + + diff --git a/src/app/Resources/SharedResources.resx b/src/app/Resources/SharedResources.resx index feac903..f5b3a45 100644 --- a/src/app/Resources/SharedResources.resx +++ b/src/app/Resources/SharedResources.resx @@ -965,4 +965,204 @@ Wrap up the conference with final thoughts, prizes, and continued networking opportunities. + + + About + + + + + Active community • 600+ members + + + + Scroll + + + + Our activities + + + + Join us + + + + Open source + + + + + Our partners + + + + Want to support the .NET community in Cameroon? + + + + Become a partner + + + + + .NET Cameroon 🇨🇲 | About us + + + + Learn about the .NET Cameroon community — our story, our mission, and the partners who help us grow the local .NET ecosystem. + + + + About .NET Cameroon + + + + Empowering the <span class="text-primary">.NET</span> community in Cameroon 🇨🇲 + + + + We are a passionate group of developers, students, and tech enthusiasts committed to making .NET accessible, relevant, and impactful across Cameroon and beyond. + + + + Our story + + + + How it all started + + + + It all began on September 5th, 2023, when Djoufson Che created a small WhatsApp group with a simple idea: share his passion for .NET and show that it's a powerful, practical technology well-suited to local needs in Cameroon. + + + + He soon teamed up with Jaures Beinjamin and Septime Lowe, and together they started organizing the community at a higher level — hosting events, conferences, and meetups, both online and across the country. + + + + Today, the .NET Cameroon community counts more than 600 active members and is still growing strong, bringing together developers, students, and tech enthusiasts who share a love for building with .NET. + + + + Founded + + + + Our mission + + + + What drives us forward + + + + Our mission is to grow a thriving, inclusive, and open .NET ecosystem in Cameroon — one developer, one event, one project at a time. + + + + Promote the .NET ecosystem + + + + Promote the wide range of tools and libraries available to .NET developers through NuGet.org, GitHub, and other platforms. + + + + Advocate for open source + + + + Advocate for the needs of .NET open source developers within the local and global community. + + + + Evangelize .NET + + + + Share the benefits of the .NET platform with a wider community of developers, students, and tech enthusiasts. + + + + Embrace open source + + + + Promote the benefits of the open source model to developers who are already using .NET in their daily work. + + + + Support member projects + + + + Offer administrative support, visibility, and mentorship for projects built by members of our community. + + + + Empower community events + + + + Support .NET community events with sponsorship, speakers, and quality content across the country. + + + + Our values + + + + What we believe in + + + + Passion + + + + We love what we do and it shows in every event, talk and line of code we share. + + + + Collaboration + + + + We grow together, helping each other build better skills and better projects. + + + + Learning + + + + We're always curious, always learning, and always sharing what we discover. + + + + Impact + + + + We build for the continent, with solutions that truly solve local problems. + + + + Ready to join the movement? + + + + Connect with hundreds of passionate .NET developers across Cameroon. Share, learn, build — and grow with us. + + + + Join the community + + + + Contact us + + From 50d2c12c3eb4778296cbe478562b68c7b42cf902 Mon Sep 17 00:00:00 2001 From: Djoufson CHE BENE Date: Thu, 9 Apr 2026 21:15:12 +0100 Subject: [PATCH 2/4] Add founders, SVG icons and clean up About/Home Adds a founders section to the About page with photos, bios and profile links for Djoufson, Jaures and Septime. Replaces FontAwesome usages on the About and Home pages with inline SVG icons so they render without an external icon font, hides the Jobs nav entry and removes Examboot and Itia from the partners grid. Co-Authored-By: Claude Opus 4.6 --- src/app/Components/Components/Footer.razor | 10 -- src/app/Components/Components/NavBar.razor | 19 --- src/app/Components/Components/Partners.razor | 4 +- src/app/Components/Pages/About.razor | 134 +++++++++++++++++-- src/app/Components/Pages/Home.razor | 28 +++- src/app/Resources/SharedResources.fr.resx | 37 +++++ src/app/Resources/SharedResources.resx | 37 +++++ 7 files changed, 218 insertions(+), 51 deletions(-) diff --git a/src/app/Components/Components/Footer.razor b/src/app/Components/Components/Footer.razor index cbbfee3..f70ae7f 100644 --- a/src/app/Components/Components/Footer.razor +++ b/src/app/Components/Components/Footer.razor @@ -1,7 +1,6 @@ @inject Microsoft.Extensions.Localization.IStringLocalizerFactory LocalizerFactory @using app.Resources @using Microsoft.Extensions.Localization -@inject IWebHostEnvironment Environment
    @@ -21,15 +20,6 @@
  • @L["Footer_Events"]
  • - @if (Environment.IsDevelopment()) - { -
  • - - Jobs - Soon - -
  • - }
  • @L["Footer_About"]
  • diff --git a/src/app/Components/Components/NavBar.razor b/src/app/Components/Components/NavBar.razor index 47534f2..785d220 100644 --- a/src/app/Components/Components/NavBar.razor +++ b/src/app/Components/Components/NavBar.razor @@ -3,7 +3,6 @@ @using Microsoft.Extensions.Localization @inject IFeatureFlagService FeatureFlagService @inject IDevModeService DevModeService -@inject IWebHostEnvironment Environment
    - @if (Environment.IsDevelopment()) - { - - Jobs - Soon - - } @SharedLocalizer["Nav_About"]
    diff --git a/src/app/Components/Components/Partners.razor b/src/app/Components/Components/Partners.razor index b4391b4..5f72b56 100644 --- a/src/app/Components/Components/Partners.razor +++ b/src/app/Components/Components/Partners.razor @@ -11,7 +11,7 @@

    @SharedLocalizer["Sponsors_Description"]

    -
    + +
    +
    +
    + + @SharedLocalizer["About_Founders_Badge"] + +

    @SharedLocalizer["About_Founders_Title"]

    +

    @SharedLocalizer["About_Founders_Intro"]

    +
    + +
    + + + + +
    +
    + Jaures Beinjamin +
    +
    +

    Jaures Beinjamin

    +

    @SharedLocalizer["About_Founder_Jaures_Role"]

    +

    @SharedLocalizer["About_Founder_Jaures_Bio"]

    + + + + + jaures.me + + + + +
    +
    + + +
    +
    +
    + SL +
    +
    +
    +

    Septime Lowe

    +

    @SharedLocalizer["About_Founder_Septime_Role"]

    +

    @SharedLocalizer["About_Founder_Septime_Bio"]

    + + + + + LinkedIn + + + + +
    +
    +
    +
    +
    + @@ -205,11 +311,15 @@ diff --git a/src/app/Components/Pages/Home.razor b/src/app/Components/Pages/Home.razor index 0c82a38..073ec08 100644 --- a/src/app/Components/Pages/Home.razor +++ b/src/app/Components/Pages/Home.razor @@ -55,10 +55,14 @@ @@ -85,7 +89,9 @@
    @@ -144,12 +150,16 @@
    @@ -191,13 +201,17 @@ @if(!string.IsNullOrWhiteSpace(project.Github)) { - + + + } @if(!string.IsNullOrWhiteSpace(project.Website)) { - + + + } diff --git a/src/app/Resources/SharedResources.fr.resx b/src/app/Resources/SharedResources.fr.resx index b9c5ebe..72b2199 100644 --- a/src/app/Resources/SharedResources.fr.resx +++ b/src/app/Resources/SharedResources.fr.resx @@ -1165,4 +1165,41 @@ Nous contacter + + + Les fondateurs + + + + Les visages derrière .NET Cameroon + + + + Une petite équipe de développeurs passionnés qui ont transformé une idée simple en une communauté dynamique. + + + + Fondateur & Lead + + + + Ingénieur logiciel et passionné de .NET, Djoufson a lancé la communauté en 2023 avec un objectif simple : partager ses connaissances et démontrer que .NET a un bel avenir au Cameroun. Il pilote aujourd'hui la vision et les initiatives techniques de la communauté. + + + + Co-fondateur + + + + Développeur, créateur de contenu et bâtisseur de communautés, Jaures a rejoint très tôt l'aventure pour aider à structurer et faire grandir .NET Cameroon. Il joue un rôle clé dans l'organisation des événements et l'engagement des membres à travers le pays. + + + + Co-fondateur + + + + Passionné par l'écosystème .NET et la construction de communautés, Septime co-pilote la stratégie de la communauté et contribue aux partenariats, événements et au soutien des membres à travers le Cameroun. + + diff --git a/src/app/Resources/SharedResources.resx b/src/app/Resources/SharedResources.resx index f5b3a45..01025e3 100644 --- a/src/app/Resources/SharedResources.resx +++ b/src/app/Resources/SharedResources.resx @@ -1165,4 +1165,41 @@ Contact us + + + Meet the founders + + + + The people behind .NET Cameroon + + + + A small team of passionate developers who turned a simple idea into a thriving community. + + + + Founder & Lead + + + + Software engineer and .NET enthusiast, Djoufson started the community in 2023 with a simple goal: share his knowledge and prove that .NET has a bright future in Cameroon. He now leads the community's vision and technical initiatives. + + + + Co-founder + + + + Developer, content creator and community builder, Jaures joined early on to help structure and grow .NET Cameroon. He plays a key role in organizing events and engaging members across the country. + + + + Co-founder + + + + Passionate about the .NET ecosystem and community building, Septime co-leads the community's strategy and helps drive partnerships, events, and member support across Cameroon. + + From eaf6fbbcb38636dfa2e726ed45de0ea41a0b981b Mon Sep 17 00:00:00 2001 From: Djoufson CHE BENE Date: Thu, 9 Apr 2026 21:30:29 +0100 Subject: [PATCH 3/4] Hide contact links, refresh stats and founders Contact page is incomplete, so remove links to it from the navbar, footer, partners block, and About CTA. Refresh community stats to reflect current numbers (1 100+ members, 4 000+ LinkedIn followers). Add Septime Lowe's photo and turn founder first-name references in the Our Story section into links to their personal sites. Co-Authored-By: Claude Opus 4.6 --- src/app/Components/Components/Footer.razor | 3 --- src/app/Components/Components/NavBar.razor | 5 ---- src/app/Components/Components/Partners.razor | 13 ----------- src/app/Components/Pages/About.razor | 23 +++++++------------ src/app/Components/Pages/Home.razor | 6 ++--- src/app/Resources/SharedResources.fr.resx | 8 +++---- src/app/Resources/SharedResources.resx | 8 +++---- src/app/wwwroot/assets/team/septime.jpeg | Bin 0 -> 25586 bytes 8 files changed, 19 insertions(+), 47 deletions(-) create mode 100644 src/app/wwwroot/assets/team/septime.jpeg diff --git a/src/app/Components/Components/Footer.razor b/src/app/Components/Components/Footer.razor index f70ae7f..9644fe1 100644 --- a/src/app/Components/Components/Footer.razor +++ b/src/app/Components/Components/Footer.razor @@ -23,9 +23,6 @@
  • @L["Footer_About"]
  • -
  • - @L["Footer_Contact"] -
  • diff --git a/src/app/Components/Components/NavBar.razor b/src/app/Components/Components/NavBar.razor index 785d220..2026617 100644 --- a/src/app/Components/Components/NavBar.razor +++ b/src/app/Components/Components/NavBar.razor @@ -46,11 +46,6 @@
    - - - Contact-us - - - - @if (ShowBecomePartner) - { -
    -

    @SharedLocalizer["Sponsors_JoinUs"]

    - - @SharedLocalizer["Sponsors_BecomePartner"] - -
    - }
    @code { - [Parameter] - public bool ShowBecomePartner { get; set; } = true; - private IStringLocalizer? _sharedLocalizer; private IStringLocalizer SharedLocalizer => _sharedLocalizer ??= LocalizerFactory.Create("SharedResources", "app"); diff --git a/src/app/Components/Pages/About.razor b/src/app/Components/Pages/About.razor index d97a412..c5041f0 100644 --- a/src/app/Components/Pages/About.razor +++ b/src/app/Components/Pages/About.razor @@ -57,14 +57,14 @@

    @SharedLocalizer["About_Story_Title"]

    -

    @SharedLocalizer["About_Story_Paragraph1"]

    -

    @SharedLocalizer["About_Story_Paragraph2"]

    +

    @((MarkupString)SharedLocalizer["About_Story_Paragraph1"].Value)

    +

    @((MarkupString)SharedLocalizer["About_Story_Paragraph2"].Value)

    @SharedLocalizer["About_Story_Paragraph3"]

    -
    600+
    +
    1 100+

    @SharedLocalizer["Membership_Stats_Members"]

    @@ -268,10 +268,9 @@
    -
    -
    - SL -
    +
    + Septime Lowe
    diff --git a/src/app/Components/Pages/Home.razor b/src/app/Components/Pages/Home.razor index 073ec08..f73e37a 100644 --- a/src/app/Components/Pages/Home.razor +++ b/src/app/Components/Pages/Home.razor @@ -70,7 +70,7 @@