Skip to content

Commit

Permalink
Merge branch 'main' of github.com:nairobi-gophers/gophercon2024
Browse files Browse the repository at this point in the history
  • Loading branch information
spankie committed Oct 17, 2024
2 parents f973a77 + 6f67c59 commit 5a85e69
Show file tree
Hide file tree
Showing 13 changed files with 256 additions and 61 deletions.
Binary file added frontend/src/assets/speakers/Amarachi.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 added frontend/src/assets/speakers/Cecilia.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 added frontend/src/assets/speakers/Chigozie.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 added frontend/src/assets/speakers/Chris Otta.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/src/assets/speakers/Ehi Enabs.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/src/assets/speakers/Irene.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/src/assets/speakers/Kennedy Njagi.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/src/assets/speakers/PrinceWell.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion frontend/src/components/Socials.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ export default function Socials() {
id="contact"
className="container mx-auto py-12 md:py-24 flex flex-col items-center text-center text-secondary"
>
<h2 className="text-3xl md:text-5xl font-bold mb-8">
<h2 className="text-3xl md:text-5xl font-bold mt-8 mb-6">

Social
</h2>
<p className="w-full lg:w-[60%] text-sm md:text-base">
Expand Down
72 changes: 23 additions & 49 deletions frontend/src/components/Speakers.tsx
Original file line number Diff line number Diff line change
@@ -1,52 +1,26 @@
import SpeakerCard from "./SpeakerCard";

interface Speaker {
name: string;
twitterHandle: string;
company: string;
description: string;
imageUrl: string;
companyLogoUrl: string;
}
import SpeakersList from "./SpeakersLists";

export default function Speakers() {
const speakers: Speaker[] = [];

return (
<section
id="sponsors"
className="container mx-auto px-6 py-12 md:py-24 flex flex-col items-center text-center text-secondary mt-20"
>
{speakers.length > 0 ?
<>
<h2 className="text-3xl md:text-5xl font-bold mt-8 mb-6">
Speakers
</h2>
<p className="max-w-lg mb-8 text-sm md:text-base">
GopherCon Africa features global speakers who deliver cutting-edge content on Go programming and related technologies to keep attendees at the forefront of the field.
</p>

{/*<div className="p-6 max-w-lg mx-auto ">*/}
{/* <div className="flex items-center justify-between mt-20">*/}
{/* <div>*/}
{/* <h2 className="text-2xl font-bold text-black">Our Speakers List</h2>*/}
{/* </div>*/}
{/* </div>*/}
{/*</div>*/}

<div className="grid grid-cols-1 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-2 gap-6 p-4 sm:p-6">
{speakers.map((speaker, index) => (
<SpeakerCard key={index} {...speaker} />
))}
</div>
</> :
<div className="p-6 max-w-lg mx-auto ">
<div className="flex items-center justify-between mt-20">
<div>
<h2 className="text-2xl font-bold text-black">Speakers will be announced soon</h2>
return (
<section
id="speakers"
className="container mx-auto py-12 md:py-24 flex flex-col items-center text-center text-secondary"
>
<h2 className="text-3xl md:text-5xl font-bold mb-8 mt-8">
Our Speakers
</h2>
<p className="w-full lg:w-[60%] text-sm md:text-base">
GopherCon Africa features global speakers who deliver cutting-edge content on Go programming and related technologies to keep attendees at the forefront of the field.
</p>
<div className="p-6 max-w-lg mx-auto ">
<div className="flex items-center justify-between mt-20">
<div>
<h2 className="text-2xl font-bold text-black">Our Speakers List</h2>
</div>
</div>
</div>
</div>
</div>}
</section>
);
}

<SpeakersList />
</section>
);
}
156 changes: 156 additions & 0 deletions frontend/src/components/SpeakersLists.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
import React from 'react';
import SpeakerCard from './SpeakerCard';

import speakerCecilia from '../assets/speakers/Cecilia.jpeg';
import speakerChigozie from '../assets/speakers/Chigozie.jpeg';
import speakerChris from '../assets/speakers/Chris Otta.jpg';
import speakerEhi from '../assets/speakers/Ehi Enabs.jpg';
import speakerIrene from '../assets/speakers/Irene.jpg';
import speakerJoseph from '../assets/speakers/Joseph Augustine.jpeg';
import speakerKen from '../assets/speakers/Kennedy Njagi.jpg';
import speakerPrince from '../assets/speakers/PrinceWell.jpeg';
import speakerImage from '../assets/speakers/placeholder.png';
import speakerAmarachi from '../assets/speakers/Amarachi.jpeg'

const profiles = [
{
name: 'Chris Otta',
twitterHandle: '@otta_chris',
company: 'Safaricom PLC || SDET',
description: `Innate teacher with a bias in STEM education. Community Lead and Technical Mentor; worked with the Mozilla Foundation. Pioneered a Coding Bootcamp, LakeHub Academy (now Zone01 Kisumu). Moderator GDG Kisumu events. SDET at Safaricom PLC. Speaker at AWS Community Day Kenya 2024. Cloud & Infrastructure Engineering aficionado.`,
imageUrl: speakerChris,
companyLogoUrl: 'https://myaccount.safaricom.co.ke/_next/static/media/saf-logo.b574a92f.png?w=256&q=75',
},
{
name: 'Rodney Osodo',
twitterHandle: 'b1ackd0t',
company: 'Software Engineer',
description: `Backend wizard and Golang enthusiast, skilled at building distributed systems that scale faster than your morning caffeine rush.`,
imageUrl: speakerImage,
companyLogoUrl: '',
},
{
name: 'Joseph Augustine Asuquo',
twitterHandle: 'kjasuquo',
company: 'Partna || Backend Engineer',
description: `With an engineering background from the Federal University of Technology, Owerri, Nigeria, I began my tech career at Decagon as a full-stack developer with a strong focus on backend development using Golang. Since then, I've built applications for various organizations, including Propchain, BEFREE Africa, and several other startups. I am currently working as a Backend Engineer at Partna.`,
imageUrl: speakerJoseph,
companyLogoUrl: 'https://gophers.africa/assets/wordmark_primary-B6eTT4Ct.svg',
},
{
name: 'Rasheed Mudasiru',
twitterHandle: 'taiwrash',
company: 'DevOps Engineer',
description: `Rasheed is a DevOps Engineer and a master of automation, consistently delivering cutting-edge solutions that drive innovation. His impact extends beyond code and servers as he curates speakers at major events, leads as an AWS Ambassador, GitHub Campus Expert, and Microsoft Learn Student Ambassador.`,
imageUrl: speakerImage,
companyLogoUrl: '',
},
{
name: 'Amarachi Iheanacho',
twitterHandle: 'amaraIheanach0',
company: 'Developer Advocate',
description: `Amarachi Iheanacho is a seasoned developer advocate, technical writer, community contributor, and speaker. She has over four years of experience in building and advocating for solutions while simplifying complex topics for a broader audience.`,
imageUrl: speakerAmarachi,
companyLogoUrl: '',
},
{
name: 'Ehi Enabulele',
twitterHandle: 'ehienabs',
company: 'Wikimedia Foundation || Software Engineer',
description: `Ehi Enabulele is a Software Engineer at the Wikimedia Foundation, primarily focused on cloud-native and backend engineering. She is passionate about knowledge accessibility and equity and works to maintain APIs for high-volume Wikipedia data reusers.`,
imageUrl: speakerEhi,
companyLogoUrl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Wikimedia_Foundation_logo_-_vertical.svg/220px-Wikimedia_Foundation_logo_-_vertical.svg.png',
},
{
name: 'Princewill Kalio',
twitterHandle: '0xkalio',
company: 'Software Developer',
description: `Kalio Princewill is an experienced full-stack developer with expertise in designing scalable applications using TypeScript and Go. He integrates robust testing practices to ensure maintainable, high-performance code.`,
imageUrl: speakerPrince,
companyLogoUrl: '',
},
{
name: 'Kennedy Karoko',
twitterHandle: 'kennedy_karoko',
company: 'Software Engineer',
description: `I am constantly seeking innovative solutions to everyday problems. I advocate for collaborative efforts to create successful products and deliver long-lasting solutions to large-scale technical problems.`,
imageUrl: speakerKen,
companyLogoUrl: '',
},
{
name: 'Kathurima Kimathi',
twitterHandle: '',
company: 'Software Engineer',
description: `Software solution craftsman, committed to building reliable and scalable systems.`,
imageUrl: speakerImage,
companyLogoUrl: '',
},
{
name: 'Nwokoye Chigozie',
twitterHandle: 'Grego_dev',
company: 'Vesicash || Senior Backend Engineer',
description: `Senior Backend Engineer @Vesicash, specialized in building scalable backend systems.`,
imageUrl: speakerChigozie,
companyLogoUrl: '',
},
{
name: 'Orji Cecilia Olanma',
twitterHandle: '',
company: 'Software Engineer',
description: `I am a software engineer who transitioned from a customer support agent role into programming. I enjoy contributing to open-source projects and recently developed a keen interest in Bitcoin.`,
imageUrl: speakerCecilia ,
companyLogoUrl: '',
},
{
name: 'Sammy Oina',
twitterHandle: 'sg_ga_',
company: 'Ultraviolet || Technical Lead',
description: `Passionate about open source and Golang. Current tech lead at Ultraviolet, building and leading teams in the open-source space.`,
imageUrl: speakerImage,
companyLogoUrl: '',
},
{
name: 'Desmond Obisi',
twitterHandle: '',
company: 'Resilis || Software Engineer',
description: `Desmond is a software engineer and open-source enthusiast building digital products with over five years of experience. His focus is on UX, performance, and code interoperability.`,
imageUrl: speakerImage,
companyLogoUrl: '',
},
{
name: 'Aryan Mehrotra',
twitterHandle: '_aryanmehrotra',
company: 'GoFr || Maintainer || SDE 2',
description: `Aryan Mehrotra specializes in building distributed systems that have scaled to millions of users globally. He is currently putting his skills to use at GoFr.`,
imageUrl: speakerImage,
companyLogoUrl: 'https://gofr.dev/_next/static/media/blur-cyan.d28a5585.png',
},
{
name: 'Umang Mundhra',
twitterHandle: '',
company: 'GoFr || SDE 2',
description: `An accomplished software developer with a background in backend development, Umang is skilled at developing fast, reusable micro-services with proper testing and CI/CD integration.`,
imageUrl: speakerImage,
companyLogoUrl: 'https://gofr.dev/_next/static/media/blur-cyan.d28a5585.png',
},
{
name: 'Irene Ufia',
twitterHandle: '',
company: 'Interstellar || Software Engineer ',
description: `ASoftware engineer at Interstellar, building scalable blockchain systems with a focus on backend development, cloud infrastructure, and security.`,
imageUrl: speakerIrene,
companyLogoUrl: 'https://interstellar.cm/img/logo/interstellar-logo.png',
}
];


const SpeakersList: React.FC = () => {
return (
<div className="grid grid-cols-1 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-2 gap-6 p-4 sm:p-6">
{profiles.map((profile, index) => (
<SpeakerCard key={index} {...profile} />
))}
</div>
);
}
export default SpeakersList;
86 changes: 75 additions & 11 deletions frontend/src/utils/sessions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,81 @@ const SessionsList = (): Array<ISession> => {
{
startTime: '9:00AM',
date: '9:00AM - 11:00AM EAT, Fri Oct 18th',
duration: '2h',
title: 'Workshop (TBA)',
duration: 'Workshop 2h',
title: 'Go for Infrastructure Test Automation',
room: 'Main Conference Room, iHub',
description: "Detail coming soon",
description: "<b>What a student is expected to learn</b><br>" +
"<br>" +
"1. The essentials of the Go testing library.<br>" +
"2. How to write automated tests in Go.<br>" +
"3. How to increase confidence in deploying cloud infrastructure using Terratest, an open source Go library to write automated tests, including unit, integration and end-to-end tests for infrastructure code, with Terraform as an example.<br>" +
"<br><b>Prerequisites</b><br>" +
"<br>" +
"1. A free tier AWS account or higher<br>" +
"2. Terraform 1.5 or higher<br>" +
"3. Go version 1.13 or higher<br>" +
"4. Git version 1.5 or higher<br>" +
"5. GitHub account<br>" +
"6. VS Code<br><br>" +
"<b>Preparation</b><br>" +
"<br>" +
"Personal regular checks on my terraform modules to use in the workshop <br>",
level: "All attendees",
name: "",
role: "",
name: "Chris Otta",
role: "Software Development Engineer in Test",
company: "",
titleDescription: "",
day: "18th"
},
// {
// startTime: '9:00AM',
// date: '9:00AM - 11:00AM EAT, Fri Oct 18th',
// duration: 'Workshop 2h',
// title: 'Hands-On Observability: Monitoring Go Applications with OpenTelemetry and Grafana',
// room: 'Boardroom I, iHub',
// description: `<h1>Workshop Agenda</h1>

// <h2>Setting the Stage:</h2>
// <ul>
// <li>Introduction to observability and its importance in Go applications.</li>
// <li>Overview of OpenTelemetry and Grafana and their roles in observability.</li>
// </ul>

// <h2>Instrumenting Your Go Code:</h2>
// <ul>
// <li>Hands-on exercise: Instrumenting a Go application with OpenTelemetry.</li>
// <li>Generating and exporting metrics, traces, and logs.</li>
// </ul>

// <h2>Visualizing Insights with Grafana:</h2>
// <ul>
// <li>Setting up Grafana for visualizing telemetry data.</li>
// <li>Creating dashboards to monitor key metrics and traces.</li>
// </ul>

// <h2>Logging for Contextual Observability:</h2>
// <ul>
// <li>Hands-on exercise: Implementing structured logging in Go with OpenTelemetry.</li>
// <li>Enhancing logs with contextual information for better traceability.</li>
// </ul>

// <h2>Error Handling and Alerting:</h2>
// <ul>
// <li>Strategies for effective error handling in Go applications.</li>
// <li>Configuring alerts based on metrics and traces in Grafana.</li>
// </ul>

// <h2>Q&A Session and Open Discussion:</h2>
// <ul>
// <li>Best practices and challenges</li>
// </ul>`,
// level: "All attendees",
// name: "Desmond Obisi",
// role: "Software Engineer",
// company: "Resilis",
// titleDescription: "",
// day: "18th"
// },
{
startTime: '11:00AM',
date: '11:00AM - 11:15AM EAT, Fri Oct 18th',
Expand All @@ -47,7 +111,7 @@ const SessionsList = (): Array<ISession> => {
{
startTime: '11:15AM',
date: '11:15AM - 1:15PM EAT, Fri Oct 18th',
duration: '2h',
duration: 'Workshop 2h',
title: 'Workshop: Advanced Monitoring and Observability with OpenTelemetry and APItoolkit',
room: 'Main Conference Room, iHub',
description: `<p>
Expand Down Expand Up @@ -98,8 +162,8 @@ const SessionsList = (): Array<ISession> => {
"- Learn best practices for implementing interfaces effectively",
level: "All attendees",
name: "Sammy Oina",
role: "S/W Engineer",
company: "",
role: "Technical lead",
company: "Ultraviolet",
titleDescription: "",
day: "18th"
},
Expand Down Expand Up @@ -171,9 +235,9 @@ const SessionsList = (): Array<ISession> => {
"<br><br>" +
"Whether you are new to GO or an experienced developer, this talk will provide you with valuable insights and actionable strategies to enhance your coding practices. By adopting these principles, you’ll be able to create codebases that are not only robust and scalable but also a pleasure to work with.",
level: "All attendees",
name: "JA Asuquo",
role: "S/W Engineer",
company: "",
name: "Joseph Augustine Asuquo",
role: "Software Engineer",
company: "PARTNA",
titleDescription: "",
day: "18th"
},
Expand Down

0 comments on commit 5a85e69

Please sign in to comment.