-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PyLadies Open Source Summit: 30/11/24 (#207)
- Loading branch information
1 parent
257b99d
commit aff7c5d
Showing
10 changed files
with
395 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
import PyLadies from "./pyladies"; | ||
|
||
export default function Page() { | ||
return <PyLadies />; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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'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: | ||
<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'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't provide hardware, | ||
and it'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't worry | ||
if you haven't done it yet. We'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're welcome to join | ||
other activities if you'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's an open call | ||
because everyone needs this impact. | ||
</AccordionContent> | ||
</AccordionItem> | ||
</Accordion> | ||
</section> | ||
</main> | ||
); | ||
} |
Oops, something went wrong.