Skip to content

Commit

Permalink
PyLadies Open Source Summit: 30/11/24 (#207)
Browse files Browse the repository at this point in the history
  • Loading branch information
HassanBahati authored Nov 16, 2024
1 parent 257b99d commit aff7c5d
Show file tree
Hide file tree
Showing 10 changed files with 395 additions and 2 deletions.
31 changes: 31 additions & 0 deletions app/pyladies-os-summit/layout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import Footer from "@/components/2023/layout/footer";
import "react-toastify/dist/ReactToastify.css";
import "@/app/globals.css";
import Navbar2024 from "@/components/2024/layout/navbar";

export const metadata = {
title: "Pyladies Open Source Summit",
description:
"Pyladies Kampala Open Source Summit that will bring together Python enthusiasts and open-source advocates, both new and experienced, for a one-day event aimed at building community and promoting contributions to open source.",
};

export default function RootLayout({ children }) {
return (
<html lang="en">
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link
rel="preconnect"
href="https://fonts.gstatic.com"
crossOrigin="true"
/>
<link
href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"
rel="stylesheet"
></link>

<body className="flex min-h-screen flex-col justify-between">
<main className="">{children}</main>
</body>
</html>
);
}
5 changes: 5 additions & 0 deletions app/pyladies-os-summit/page.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import PyLadies from "./pyladies";

export default function Page() {
return <PyLadies />;
}
136 changes: 136 additions & 0 deletions app/pyladies-os-summit/pyladies-schedule.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
import Image from "next/image";
import Link from "next/link";

const scheduleData = [
{
time: "7:00 - 8:00",
title: "Registration and Swagg Pick Up",
},
{
time: "8:00 - 9:00",
title: "Opening Keynote",
speaker: "Tania Allard, PhD - Director at PSF",
speakerDetails: `Tania is the co-director at Quansight Labs and previous Sr. Developer Advocate at Microsoft. She has vast experience in academic research and industrial environments.
Her main areas of expertise are within data-intensive applications, scientific computing, and machine learning. Tania has conducted extensive work on the improvement of processes,
reproducibility and transparency in research, data science and artificial intelligence. She is passionate about mentoring, open source, and its community and is involved in a number
of initiatives aimed to build more diverse and inclusive communities. She is also a contributor, maintainer, and developer of a number of open source projects and the Founder of Pyladies NorthWest.
In her free time she likes tinkering with electronics, nerding with mechanical keyboards, reading all the books and lifting heavy weights.`,
avatar: "/assets/images/speakers/Tania_Allard.jpg",
},
{
time: "9:00 - 10:00",
title: "Introduction of Open Source Maintainers and Projects",
},
{
time: "10:00 - 11:00",
title: "BreakFast",
tag: "breakfast",
},
{
time: "11:00 - 13:00",
title: "Open Source collaboration and Contribution",
},
{
time: "13:00 - 14:00",
title: "Lunch",
tag: "lunch",
},
{
time: "14:00 - 16:00",
title: "Open Source collaboration and Contribution",
},
{
time: "16:00 - 17:00",
title: "Closing Keynote",
speaker:
"Daphine Namukisa, UI/UX Designer at Uganda Revenue Authority (URA)",
speakerDetails: `Daphine is a passionate UI/UX designer, product manager and JavaScript frontend developer, with a deep commitment to user-centric design and innovation.
With a background in computer science and experience in both digital product design and project management, she has contributed to impactful projects, including digital systems at the Uganda Revenue Authority.
Their unique blend of technical and design expertise has driven positive change and optimized user experiences.
Daphine has also been recognized for my mentorship in empowering women in tech and an advocate for knowledge sharing and continuous growth within the technology community.`,
avatar: "/assets/images/speakers/daphine-namukisa.jpeg",
},
{
time: "17:00 - 17:15",
title: "Closing remarks",
},
];

function Avatar({ src, alt }) {
const getInitials = (name) => {
return name
.split(" ")
.map((n) => n[0])
.join("");
};

return (
<div className="h-50 w-50 flex items-center justify-center bg-gray-200 rounded-full overflow-hidden">
{src ? (
<Image
className="h-full w-full object-cover"
src={src}
alt={alt}
width={50}
height={50}
/>
) : (
<span className="text-gray-600 text-sm font-semibold">
{getInitials(alt)}
</span>
)}
</div>
);
}

function Badge({ label }) {
return (
<span className="inline-flex items-center px-2 py-1 text-xs font-medium rounded-full bg-blue-100 text-blue-800">
{label}
</span>
);
}

export default function PyLadiesSchedule() {
return (
<div className="bg-white space-y-4" id="schedule">
<Link
href={"/pyladies-os-summit-2024/#schedule"}
className="text-3xl font-bold mb-6 text-gray-800 hover:underline"
>
# Schedule
</Link>
<div className="space-y-4">
{scheduleData.map((item, index) => (
<div
key={index}
className="flex flex-col lg:flex-row space-y-4 items-center lg:space-x-4 p-4 bg-gray-50 rounded-lg border border-gray-200"
>
<div className="w-20 text-xl font-semibold text-gray-600">
{item.time}
</div>
<div className="flex-grow flex items-center space-x-4">
{item.avatar && <Avatar src={item.avatar} alt={item.speaker} />}
<div>
<h3 className="font-semibold text-gray-800">{item.title}</h3>
{item.speaker && (
<div className="max-w-4xl">
<p className="text-sm text-gray-600">{item.speaker}</p>
<p className="text-sm text-gray-600 hidden lg:block">
{item.speakerDetails}
</p>
</div>
)}
</div>
</div>
<p className="text-sm text-gray-600 lg:hidden">
{item.speakerDetails}
</p>

{item.tag && <Badge label={item.tag} />}
</div>
))}
</div>
</div>
);
}
211 changes: 211 additions & 0 deletions app/pyladies-os-summit/pyladies.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
import Link from "next/link";
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "../../components/ui/accordion.jsx";
import PyLadiesSchedule from "./pyladies-schedule.jsx";
import Image from "next/image";

export default function PyLadies() {
const PARTNERS = [
{
name: "Python Software Foundation",
href: "https://www.python.org/psf-landing/",
logo: "/assets/images/sponsors/psf-logo.png",
},
{ name: "PyCon Uganda", logo: "/assets/images/logo.png" },
{ name: "Outbox Hub", logo: "/assets/images/pyladies/outbox-logo.png" },
{
name: "Propel",
href: "https://www.propel.community/",
logo: "/2024/sponsors/Propel.png",
},
{
name: "PSSU",
href: "",
logo: "/assets/images/pssu-logo.png",
},
];
return (
<main className="flex-grow space-y-6 mb-10">
<section
className="relative h-[75vh] bg-cover bg-center flex items-center justify-center text-white"
style={{
backgroundImage: 'url("/assets/images/pyladies/pyladies2.jpg")',
}}
>
<div className="absolute inset-0 bg-black opacity-50"></div>
<div className="relative z-10 text-center">
<h1 className="text-6xl font-bold mb-4">
Pyladies Kampala Open Source Summit
</h1>
<p className="text-xl mb-8">
30th November, 2024 at Outbox Hub, 4th Floor - Soliz House, Plot 23
- Lumumba Ave, Kampala
</p>
</div>
</section>

<section className="max-w-4xl mx-auto px-4 pt-4">
<h2 className="text-3xl font-bold m-4 text-center">About The Summit</h2>
<p className=" text-center">
Pyladies is an international mentorship group with a focus on helping
more women become active participants and leaders in the Python
open-source community. PyLadies also aims to provide a friendly
support network for women and a bridge to the larger Python world.
Anyone with an interest in Python is encouraged to participate! The
meetups happen every third Saturday of the month.
</p>
</section>

<div className="md:container mx-auto px-4 py-12">
<div className="grid md:grid-cols-2 gap-12">
<div className="shadow-lg p-4 md:p-8 rounded-lg hover:shadow-none">
<h2 className="text-2xl font-bold mb-4 text-center">
Your Open Source Journey Starts Here{" "}
</h2>

<p className="mb-4">
This annual open source summit brings together members of the
Pyladies and Python open source community to grow our
community&#39;s contribution to open source. Expect inspiring
keynotes and productive collaboration with local open source
maintainers. Exceptional contributions will be awarded (T.Shirts
and other Swag).
</p>
<p className="mb-4">
Reserve your attendee spot today by clicking the button below:
<br />
</p>
<div className="flex justify-center">
<Link
target="_blank"
href="https://forms.gle/4pM8z7euTbGXetQw5"
className="px-4 py-2 bg-[#3774A2] text-white hover:bg-white hover:text-[#3774A2] hover:underline text-lg rounded transition duration-200"
>
Register Now
</Link>
</div>
</div>
<div className="shadow-lg p-8 rounded-lg hover:shadow-none">
<h2 className="text-2xl font-bold mb-4 text-center">
Are you an Open Source Maintainer?
</h2>
<p className="mb-4">
Are you passionate about open-source and ready to Make an impact?
Express your interest to join the Pyladies open source summit.{" "}
</p>

<p className="mb-4">
Selected projects and maintainers will have a chance to
collaborate With attendees and get new contributors.
</p>
<p>
Email your statements of interest to:&nbsp;
<Link
href="mailto:[email protected]"
className="text-blue-500 text-lg hover:underline"
>
[email protected]
</Link>
</p>
</div>
</div>
</div>

<section className="lg:mx-20 mx-4">
<PyLadiesSchedule />
</section>
<section className="">
<div className="py-[60px]">
<div className=" px-4 py-4 items-center">
<div className="mx-auto max-w-xl text-center space-y-4">
<h2 className="text-3xl font-bold mb-4 text-center">Venue</h2>

<p className="text-base p-0 font-medium">Outbox Hub Kampala</p>
</div>
<div className="mt-4 h-[70vh]">
<iframe
className="h-full"
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3989.7549901576226!2d32.573844175214255!3d0.3228248996740135!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x177dbb7a196c73c3%3A0xf3f534e6f1300573!2sOutbox%20Hub!5e0!3m2!1sen!2sug!4v1731430518433!5m2!1sen!2sug"
width="100%"
height="400"
allowFullScreen=""
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
></iframe>
</div>
</div>
</div>
</section>
<section className="max-w-4xl mx-auto p-4">
<h2 className="text-3xl font-bold mb-4 text-center">Partners</h2>
<div className="flex flex-col h-full justify-center items-center lg:flex-row md:space-x-6 lg:space-y-0 space-y-6">
{PARTNERS.map((partner, index) => (
<Image
key={index}
src={partner.logo}
width={200}
height={200}
alt={partner.name}
/>
))}
</div>
</section>
<section className="max-w-4xl mx-auto p-4">
<h2 className="text-2xl font-bold mb-4">
Pyladies Kampala Open Source Summit FAQ
</h2>
<Accordion type="single" collapsible className="w-full">
<AccordionItem value="item-1">
<AccordionTrigger>
Do I need to know anything about websites or programming?
</AccordionTrigger>
<AccordionContent>
No! This summit is for everyone. You don&#39;t need any prior
knowledge. If you have some technical knowledge (like knowing what
HTML or CSS are), you can still apply!
</AccordionContent>
</AccordionItem>
<AccordionItem value="item-2">
<AccordionTrigger>Should I bring my own laptop?</AccordionTrigger>
<AccordionContent>
Yes, please bring your own laptop. We don&#39;t provide hardware,
and it&#39;s important for you to have your computer to take home
everything you create during the summit.
</AccordionContent>
</AccordionItem>
<AccordionItem value="item-3">
<AccordionTrigger>
Do I need to install anything on my laptop beforehand?
</AccordionTrigger>
<AccordionContent>
It would be helpful to have Python installed, but don&#39;t worry
if you haven&#39;t done it yet. We&#39;ll have an installation
session before the workshop to help you get set up.
</AccordionContent>
</AccordionItem>
<AccordionItem value="item-4">
<AccordionTrigger>
Do I need to be a PyLady already to attend?
</AccordionTrigger>
<AccordionContent>
No. Simply sign up for the summit, and you&#39;re welcome to join
other activities if you&#39;re interested.
</AccordionContent>
</AccordionItem>
<AccordionItem value="item-5">
<AccordionTrigger>Is the Summit For Women Only?</AccordionTrigger>
<AccordionContent>
Registration is open to everyone, women are especially encouraged
to attend and will be prioritized but it&#39;s an open call
because everyone needs this impact.
</AccordionContent>
</AccordionItem>
</Accordion>
</section>
</main>
);
}
Loading

0 comments on commit aff7c5d

Please sign in to comment.