Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip: our-story #434

Merged
merged 9 commits into from
Nov 4, 2024
Binary file added public/about/path.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 added src/assets/about/blabla-conf.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 added src/assets/about/devc-1.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 added src/assets/about/episode-100.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 added src/assets/about/geeksblabla-community.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 added src/assets/about/geeksblabla-ngo.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 added src/assets/about/geeksblabla-podcast-birth.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 added src/assets/about/whats-next.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions src/components/about/our-story.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
import TimelineItem, { type TimelineItemType } from "./timeline-item.astro";
import devCImage from "@/assets/about/devc-1.png";
import geeksBlablaPodcastBirthImage from "@/assets/about/geeksblabla-podcast-birth.png";
import geeksblablaCommunityImage from "@/assets/about/geeksblabla-community.png";
import blablaConfImage from "@/assets/about/blabla-conf.png";
import episode100Image from "@/assets/about/episode-100.png";
import geeksblablaNGOImage from "@/assets/about/geeksblabla-ngo.png";
import whatsnextImage from "@/assets/about/whats-next.png";
import { Icon } from "astro-icon/components";

const timelineItems: Array<TimelineItemType & { description: string }> = [
{
title: "DevC Casa is born",
date: "Jan 2017",
description:
"The Facebook Developer Circles program is a community-driven initiative designed to foster collaboration and knowledge-sharing among developers worldwide. <br /> <br /> Developer Circles Casablanca was one of the few communities launched with the aim to provide a platform for Moroccan developers to connect locally, learn new skills, collaborate on projects, and advance their careers through workshops, meetups, and online forums. DevC Casa had great success and was one the largest and most active groups globally. A success that led to the creation of 2 other DevCs in Rabat and Marrakech.",
image: devCImage,
},
{
title: "Geeksblabla, as a DevC Casa podcast",
date: "May 2018",
description:
"Within DevC Casablanca, we ignite a passion for learning, foster vibrant knowledge exchange, and strengthen our community bonds. Our transformative journey took an exciting turn with the launch of GeeksBlabla, a groundbreaking podcast. <br/><br/> It was more than just a virtual gathering—it became a symbol for deep, meaningful conversations within the IT field during the sacred nights of Ramadan. Little did we anticipate the incredible journey that would unfold from this humble beginning.",
image: geeksBlablaPodcastBirthImage,
},
{
title: "Geeksblabla, the community",
date: "July 2019",
description:
"It's incredible to think that what began as a four-episode podcast during the Ramadan nights of 2018 has blossomed into a vast library of hundreds of videos on YouTube and Facebook, covering all facets of IT in Moroccan Darija. <br/><br/> As interest from our community grew, so did the frequency of our gatherings, from monthly to bi-weekly, and finally weekly. The evolution of Geeksblabla into its own thriving community outside of DevC Casablanca was a testament to its impact and the passion of our audience.",
image: geeksblablaCommunityImage,
},
{
title: "Blabla Conf",
date: "Oct 2020",
description:
"In 2020, as the world faced closures and Morocco was no exception, our community adapted swiftly. With in-person gatherings halted, virtual meetups were the lifeline.<br/><br/> Geeksblabla, already virtual from its inception, continued to host its weekly rendez-vous, providing a constant source of connection during challenging times. Sensing the need for a boost in morale, we launched BlaBlaConf - a bold new initiative aimed at serving an even larger audience. Over five days of intense learning, knowledge sharing and fun, BlaBlaConf emerged as a source of inspiration and solidarity within our community.",
image: blablaConfImage,
},
{
title: "Episode 100",
date: "Dec 2021",
description:
"After more than 3 years of consistent work on the podcast, we have reached the milestone of hosting 100 episodes. <br/><br/> This achievement proves that the concept is strong and has had a significant impact on the Moroccan community with more than 100 episodes of highly valuable content and over 200 guests across the past 100 episodes.",
image: episode100Image,
},
{
title: "GeeksBlabla as NGO officially!",
date: "Jan 2024",
description:
"As we have grown in the past few years and maintained multiple initiatives, as well as expanded our core team, creating an official NGO for the community was a must to help us make a better impact and establish a strong foundation for upcoming initiatives.",
image: geeksblablaNGOImage,
},
{
title: "What's next?",
date: "...",
description:
"Building on our rich history of growth and community impact, the future of Geeksblabla shines brightly with promise.<br/><br/> Geeksblabla has evolved beyond being just a podcast; it has grown into a vibrant community, encompassing multiple initiatives and projects. As we look ahead, our commitment to serving the Moroccan community remains strong. We will continue to innovate and expand our initiatives, staying true to our core values of learning, collaboration, and inclusivity. Through Geeksblabla and upcoming projects, we aim to foster even deeper connections, empower aspiring tech enthusiasts, and provide platforms for meaningful exchanges.<br/><br/> Together, we will move forward, creating environments where knowledge flourishes and aspirations soar.",
image: whatsnextImage,
},
];
---

<section id="history" class="bg-neutral-light-20">
<div class="container mx-auto !px-0">
<div class="flex flex-col items-center md:flex-row md:justify-between">
<h2
class="mb-4 text-center text-heading-lg font-bold text-neutral-dark-10 sm:text-left"
>
About Us
</h2>
<a
href="#team"
class="flex items-center gap-2 text-label-sm font-bold text-neutral-dark-10 hover:text-neutral-dark-20"
>
Go to Team members
<Icon name="arrow-down" class="h-5 w-5" />
</a>
</div>

{
timelineItems.map(item => (
<TimelineItem {...item}>
<p class="text-paragraph-xs text-neutral-dark-20">
<Fragment set:html={item.description} />
</p>
</TimelineItem>
))
}
</div>
</section>
57 changes: 57 additions & 0 deletions src/components/about/team-members.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,61 @@
"profile_image": "/about/images/team/soufyan.jpg",
"status": "past"
}
,
{
"id": 7,
"name": "Chaimaa BRITEL",
"x_handle": "@ChaimaaBritel",
"profile_image": "/about/images/team/britel.jpg",
"status": "active"
},
{
"id": 8,
"name": "Abdelati EL ASRI",
"x_handle": "@kaizendae",
"profile_image": "/about/images/team/kaizendae.jpg",
"status": "active"
},
{
"id": 9,
"name": "Soufyan El Foukahi",
"x_handle": "@soufyanAI",
"profile_image": "/about/images/team/soufyan.jpg",
"status": "past"
},
{
"id": 10,
"name": "Amine Hakkou",
"x_handle": "@amine_hakkou",
"profile_image": "/about/images/team/default.jpg",
"status": "past"
},
{
"id": 11,
"name": "Aicha Aferiat",
"x_handle": "@kaizendae",
"profile_image": "/about/images/team/default.jpg",
"status": "past"
},
{
"id": 12,
"name": "Amine Maarouf",
"x_handle": "@a_maaarouf",
"profile_image": "/about/images/team/default.jpg",
"status": "past"
},
{
"id": 13,
"name": "Oussama Hyad",
"x_handle": "@kaizendae",
"profile_image": "/about/images/team/default.jpg",
"status": "past"
},
{
"id": 14,
"name": "Mohammed Ez-zarghili",
"x_handle": "@ezzarghili",
"profile_image": "/about/images/team/default.jpg",
"status": "past"
}
]
59 changes: 59 additions & 0 deletions src/components/about/timeline-item.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
import type { ImageMetadata } from "astro";
import { Image } from "astro:assets";

export type TimelineItemType = {
title: string;
date: string;
image: ImageMetadata;
};

type Props = TimelineItemType;
const { title, date, image } = Astro.props as Props;
---

<div
class="group relative flex flex-col px-4 py-8 md:flex-row-reverse md:p-0 md:py-20 even:md:flex-row"
>
{/* Horizontal line spanning 70% of width, positioned 15% from left */}
<div
class="absolute bottom-0 left-[calc(10%+5px)] hidden h-[1px] w-[calc(80%-10px)] bg-neutral-dark-30 group-last:hidden md:block"
>
</div>
{
/* Vertical line positioned either 15% from left or right depending on odd/even */
}
<div
class="absolute bottom-0 top-[5px] z-10 hidden h-[calc(100%-10px)] w-[1px] rounded-full bg-neutral-dark-30 group-odd:right-[10%] group-even:left-[10%] md:block"
>
</div>

{/* Right corner piece - rotates -90deg on even items */}
<div
class="absolute bottom-0 right-[calc(10%)] z-10 hidden h-[10px] w-[10px] rounded-br-md border-b border-r border-neutral-dark-30 group-last:hidden group-even:-bottom-[9px] group-even:-rotate-90 md:block"
>
</div>

{/* Left corner piece - rotates 90deg on odd items */}
<div
class="absolute bottom-0 left-[calc(10%)] z-10 hidden h-[10px] w-[10px] rounded-bl-md border-b border-l border-neutral-dark-30 group-last:hidden group-odd:-bottom-[9px] group-odd:rotate-90 md:block"
>
</div>
<div class="z-20 flex w-full items-center justify-center md:w-1/2">
<Image
class="mx-auto overflow-hidden rounded-t-[4px]"
src={image}
loading="lazy"
alt="DevC Casa illustration"
/>
</div>
<div class="w-full py-8 md:w-1/2 md:px-8">
<div class="flex items-start justify-between">
<h2 class="text-heading-sm text-neutral-dark-30">{title}</h2>
<p class="text-label-xs whitespace-nowrap group-last:hidden">{date}</p>
</div>
<div class="pt-4">
<slot />
</div>
</div>
</div>
6 changes: 5 additions & 1 deletion src/pages/about.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@
import Layout from "@/components/layout.astro";
import Header from "@/components/header.astro";
import Team from "@/components/about/team.astro";
import OurStory from "@/components/about/our-story.astro";
---

<Layout title="About">
<Header />
<section class="relative overflow-hidden bg-neutral-light-20">
<Header />
</section>
<OurStory />
<Team />
</Layout>