Skip to content

Commit 3a2f0a9

Browse files
davcorteznsandoyaIvanM9
authored
Add Contributors Page (#53)
* Add HallOfFame component * Add thanks page * refactor: Relocate contributors images to `public/images/people` * refactor: Translate into spanish constributors descriptions * refactor!: `HallOfFame.astro` layout and styles rebasement * refactor: Relocate `SocialLinks` interface into `common.ts`, and `SocialLinks.astro` into `components/shared` Aiming to build a more manteinable and easy-to-read component, `HallOfFame.astro` will be refactored —these already existing interface and component will be part of this process * refactor: Update social links structure in `contributors.json` and `SocialLinks.astro` * feat: Create `HallOfFame` folder and add `ContributorItem.astro` * refactor!: `HallOfFame.astro` rebasement - Relocated `HallOfFame.astro` - Incorporated `ContributorsItem.astro` into it * fix: styles in dark mode * fix: padding in event description * fix: texts translation * style: 🎨 format of the code * feat: blank target in social links * feat: add hall-of-fame button --------- Co-authored-by: nsandoya <[email protected]> Co-authored-by: Iván Manzaba <[email protected]> Co-authored-by: Iván Manzaba <[email protected]>
1 parent 1f9a99d commit 3a2f0a9

24 files changed

+2646
-1421
lines changed

pnpm-lock.yaml

+2,174-1,243
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/icons/youtube.svg

+1
Loading

public/images/people/agustina.png

183 KB
Loading

public/images/people/brayen.png

25.6 KB
Loading

public/images/people/dav.png

35.4 KB
Loading

public/images/people/ivan.png

35.1 KB
Loading

public/images/people/jhon.png

18.2 KB
Loading

public/images/people/nataly.png

111 KB
Loading

src/assets/contributors.json

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"coreContributors": [
3+
{
4+
"name": "Nataly Sandoya",
5+
"description": "Ha desarrollado las interfaces de usuario del sitio web principal de Ecuador In Tech. También ha diseñado el arte para los eventos que se han realizado desde que empezó la comunidad, así como otros materiales de comunicación, dándole una identidad visual.",
6+
"image": "/images/people/nataly.png",
7+
"social": {
8+
"githubUrl": "https://github.com/nsandoya",
9+
"linkedinUrl": "https://www.linkedin.com/in/nataly-sandoya/"
10+
}
11+
},
12+
{
13+
"name": "Iván Manzaba",
14+
"description": "Ha compartido su conocimiento de Git y GitHub como ponente en el primer evento de la comunidad. También ha contribuido activamente en el desarrollo del sitio web actual de Ecuador In Tech, y ayuda activamente con la gestión de la comunidad.",
15+
"image": "/images/people/ivan.png",
16+
"social": {
17+
"githubUrl": "https://github.com/IvanM9",
18+
"linkedinUrl": "https://www.linkedin.com/in/iv%C3%A1n-manzaba"
19+
}
20+
},
21+
{
22+
"name": "Brayen Gavilanez",
23+
"description": "Como cofundador, ha contribuido con proyectos, gestión y liderazgo dentro de la comunidad. Brayen ha logrado también conectar la meta-comunidad con diferentes actores, ampliando su alcance.",
24+
"image": "/images/people/brayen.png",
25+
"social": {
26+
"githubUrl": "https://github.com/bjgavilanes"
27+
}
28+
},
29+
{
30+
"name": "David Cortez",
31+
"description": "Como cofundador, ha moldeado la comunidad a través de un liderazgo estratégico, asociaciones colaborativas y contribuciones tanto al desarrollo del sitio web como a iniciativas de impacto.",
32+
"image": "/images/people/dav.png",
33+
"social": {
34+
"githubUrl": "https://github.com/davcortez"
35+
}
36+
}
37+
],
38+
"activeContributors": [
39+
{
40+
"name": "Jhon Merchan",
41+
"description": "Ha participado de forma activa, conectando Ecuador In Tech con otros líderes y difundiendo las actividades, ampliando así la red de la meta-comunidad.",
42+
"image": "/images/people/jhon.png",
43+
"social": {
44+
"githubUrl": "https://github.com/jhon-p16"
45+
}
46+
}
47+
],
48+
"valuedContributors": [
49+
{
50+
"name": "Agustina Scandogliero",
51+
"description": "Ha aportado su amplio conocimiento como ponente en Path to impact: una serie de charlas diseñadas para apoyar a las personas en su proceso de búsqueda de empleo, ofreciendo estrategias prácticas y consejos para sobresalir y dejar huella en la industria de TI, sin importar su nivel de experiencia o área de especialización.",
52+
"image": "/images/people/agustina.png",
53+
"social": {
54+
"linkedinUrl": "https://www.linkedin.com/in/agustina-scandogliero/"
55+
}
56+
}
57+
]
58+
}

src/assets/events.json

+67-67
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,67 @@
1-
[
2-
{
3-
"id": "path-to-impact-3",
4-
"title": "Path to Impact: Danaé Townsend",
5-
"description": "Beyond: Equilibrio entre datos y humanidad",
6-
"longDescription":"¿Cómo automatizar el proceso de selección de candidatos sin perder su valor humano? Ante un panorama cada vez más desafiante —y a su vez lleno de oportunidades— te invitamos a ser parte de Beyond: Equilibrio entre datos y humanidad. Conocerás los hallazgos, retos y progresos de Danaé y su equipo durante su trabajo en Beyond para combinar clasificación y análisis de datos con IA, fuentes cualitativas de información y juicio humano. Además, podrás informarte sobre las tendencias actuales en procesos de contratación, y cómo puedes usar estos aprendizajes a tu favor. ¡Anímate a descubrir cómo una visión más amplia del mundo IT puede ayudarte a destacar tus habilidades y experiencias de forma única!",
7-
"link": "https://forms.gle/Hgs2cGvcEugzqQCu8",
8-
"date": "2025-01-28T19:00",
9-
"place": "Online",
10-
"modality": "Virtual",
11-
"hostedBy": "Ecuador In Tech",
12-
"image": "/path_to_impact_3.jpg",
13-
"attendees": 30
14-
},
15-
{
16-
"id": "devcon-watch-party-gye",
17-
"title": "DEVCON VII Watch Party - Guayaquil",
18-
"description": "Conecta con la tecnología del futuro y sé parte de la transformación digital en ECU",
19-
"longDescription":"DEVCON, la conferencia global más influyente de Ethereum, es un crisol de desarrolladores, innovadores y visionarios. Celebrado en Bangkok, DEVCON SEA fue un punto de encuentro clave para la comunidad global, donde una delegación de ocho representantes de Ecuador se sumergió en las últimas innovaciones y principios de Ethereum. DEVCON VII Watch Party es una iniciativa multi-ciudad para compartir los aprendizajes de DEVCON SEA con la comunidad local. Este evento de visionado presentará grabaciones de charlas principales, paneles y sesiones técnicas de DEVCON VII, diseñadas para educar y fomentar el debate y la creación de redes entre los asistentes en Quito, Guayaquil y Cuenca.",
20-
"link": "https://lu.ma/ik89v6yr",
21-
"date": "2025-01-30T10:00",
22-
"place": "Universidad Bolivariana del Ecuador (UBE)",
23-
"modality": "Presencial",
24-
"hostedBy": "ETH Ecuador",
25-
"image": "/devcon_gye_2025.jpg",
26-
"attendees": 45
27-
},
28-
{
29-
"id": "path-to-impact-2",
30-
"title": "Path to Impact: Brayen Gavilanes",
31-
"description": "Automatización web para postulaciones a empleo con Selenium",
32-
"longDescription":"La búsqueda de empleo es un paso natural en el camino de cualquier profesional —y también una oportunidad para innovar. En la próxima charla de nuestra serie Path to impact, Brayen Gavilanes (DevOps Engineer y Project Manager con amplia experiencia en UNIX, Cloud y automatización), compartirá una herramienta única que desarrolló durante su propia búsqueda de empleo. Inspirado por los retos de este proceso, Brayen explorará cómo convertir desafíos comunes en catalizadores para soluciones innovadoras",
33-
"link": "https://forms.gle/Hgs2cGvcEugzqQCu8",
34-
"date": "2025-01-25T19:00",
35-
"place": "Online",
36-
"modality": "Virtual",
37-
"hostedBy": "Ecuador In Tech",
38-
"image": "/path_to_impact_2.jpg",
39-
"attendees": 30
40-
},
41-
{
42-
"id": "path-to-impact-1",
43-
"title": "Path to Impact: Agustina Scandogliero",
44-
"description": "Estrategias para impulsar tu carrera en IT",
45-
"longDescription": "Construir una carrera en el mundo tech es un camino tan desafiante como lleno de oportunidades. Path to impact es una serie de charlas pensadas para acompañarte en el proceso, ofreciendo estrategias y consejos prácticos para que puedas sobresalir y dejar tu marca en un sector competitivo, sin importar tu nivel de experiencia o área de especialización. Descubrirás las habilidades y perfiles en demanda en empresas tech, y aprenderás métodos y consejos prácticos para comunicar tu experiencia de forma auténtica y proactiva. Si estás dando tu primer paso en el mundo IT o buscando un cambio en tu carrera, esta serie es para ti. ¡Únete y transforma tu camino profesional!",
46-
"link": "https://forms.gle/BHCDTkGfGBH8Rio49",
47-
"date": "2025-01-17T18:00",
48-
"place": "Online",
49-
"modality": "Virtual",
50-
"hostedBy": "Ecuador In Tech",
51-
"image": "/path_to_impact_1.jpeg",
52-
"attendees": 33
53-
},
54-
{
55-
"id": "git-github-workshop",
56-
"title": "Git & GitHub",
57-
"description": "Hands-on Workshop para iniciantes.",
58-
"longDescription": "¿Interesado en el mundo tech pero no sabes por dónde empezar? ¡Este taller es para ti! Únete a nosotros para aprender los fundamentos de Git y GitHub, las herramientas esenciales para la colaboración en cualquier proyecto digital.",
59-
"link": "https://forms.gle/BHCDTkGfGBH8Rio49",
60-
"date": "2024-12-04T19:00",
61-
"place": "Online",
62-
"modality": "Virtual",
63-
"hostedBy": "Ecuador In Tech",
64-
"image": "/github-workshop.jpg",
65-
"attendees": 31
66-
}
67-
]
1+
[
2+
{
3+
"id": "path-to-impact-3",
4+
"title": "Path to Impact: Danaé Townsend",
5+
"description": "Beyond: Equilibrio entre datos y humanidad",
6+
"longDescription":"¿Cómo automatizar el proceso de selección de candidatos sin perder su valor humano? Ante un panorama cada vez más desafiante —y a su vez lleno de oportunidades— te invitamos a ser parte de Beyond: Equilibrio entre datos y humanidad. Conocerás los hallazgos, retos y progresos de Danaé y su equipo durante su trabajo en Beyond para combinar clasificación y análisis de datos con IA, fuentes cualitativas de información y juicio humano. Además, podrás informarte sobre las tendencias actuales en procesos de contratación, y cómo puedes usar estos aprendizajes a tu favor. ¡Anímate a descubrir cómo una visión más amplia del mundo IT puede ayudarte a destacar tus habilidades y experiencias de forma única!",
7+
"link": "https://forms.gle/Hgs2cGvcEugzqQCu8",
8+
"date": "2025-01-28T19:00",
9+
"place": "Online",
10+
"modality": "Virtual",
11+
"hostedBy": "Ecuador In Tech",
12+
"image": "/path_to_impact_3.jpg",
13+
"attendees": 30
14+
},
15+
{
16+
"id": "devcon-watch-party-gye",
17+
"title": "DEVCON VII Watch Party - Guayaquil",
18+
"description": "Conecta con la tecnología del futuro y sé parte de la transformación digital en ECU",
19+
"longDescription":"DEVCON, la conferencia global más influyente de Ethereum, es un crisol de desarrolladores, innovadores y visionarios. Celebrado en Bangkok, DEVCON SEA fue un punto de encuentro clave para la comunidad global, donde una delegación de ocho representantes de Ecuador se sumergió en las últimas innovaciones y principios de Ethereum. DEVCON VII Watch Party es una iniciativa multi-ciudad para compartir los aprendizajes de DEVCON SEA con la comunidad local. Este evento de visionado presentará grabaciones de charlas principales, paneles y sesiones técnicas de DEVCON VII, diseñadas para educar y fomentar el debate y la creación de redes entre los asistentes en Quito, Guayaquil y Cuenca.",
20+
"link": "https://lu.ma/ik89v6yr",
21+
"date": "2025-01-30T10:00",
22+
"place": "Universidad Bolivariana del Ecuador (UBE)",
23+
"modality": "Presencial",
24+
"hostedBy": "ETH Ecuador",
25+
"image": "/devcon_gye_2025.jpg",
26+
"attendees": 45
27+
},
28+
{
29+
"id": "path-to-impact-2",
30+
"title": "Path to Impact: Brayen Gavilanes",
31+
"description": "Automatización web para postulaciones a empleo con Selenium",
32+
"longDescription":"La búsqueda de empleo es un paso natural en el camino de cualquier profesional —y también una oportunidad para innovar. En la próxima charla de nuestra serie Path to impact, Brayen Gavilanes (DevOps Engineer y Project Manager con amplia experiencia en UNIX, Cloud y automatización), compartirá una herramienta única que desarrolló durante su propia búsqueda de empleo. Inspirado por los retos de este proceso, Brayen explorará cómo convertir desafíos comunes en catalizadores para soluciones innovadoras",
33+
"link": "https://forms.gle/Hgs2cGvcEugzqQCu8",
34+
"date": "2025-01-25T19:00",
35+
"place": "Online",
36+
"modality": "Virtual",
37+
"hostedBy": "Ecuador In Tech",
38+
"image": "/path_to_impact_2.jpg",
39+
"attendees": 30
40+
},
41+
{
42+
"id": "path-to-impact-1",
43+
"title": "Path to Impact: Agustina Scandogliero",
44+
"description": "Estrategias para impulsar tu carrera en IT",
45+
"longDescription": "Construir una carrera en el mundo tech es un camino tan desafiante como lleno de oportunidades. Path to impact es una serie de charlas pensadas para acompañarte en el proceso, ofreciendo estrategias y consejos prácticos para que puedas sobresalir y dejar tu marca en un sector competitivo, sin importar tu nivel de experiencia o área de especialización. Descubrirás las habilidades y perfiles en demanda en empresas tech, y aprenderás métodos y consejos prácticos para comunicar tu experiencia de forma auténtica y proactiva. Si estás dando tu primer paso en el mundo IT o buscando un cambio en tu carrera, esta serie es para ti. ¡Únete y transforma tu camino profesional!",
46+
"link": "https://forms.gle/BHCDTkGfGBH8Rio49",
47+
"date": "2025-01-17T18:00",
48+
"place": "Online",
49+
"modality": "Virtual",
50+
"hostedBy": "Ecuador In Tech",
51+
"image": "/path_to_impact_1.jpeg",
52+
"attendees": 33
53+
},
54+
{
55+
"id": "git-github-workshop",
56+
"title": "Git & GitHub",
57+
"description": "Hands-on Workshop para iniciantes.",
58+
"longDescription": "¿Interesado en el mundo tech pero no sabes por dónde empezar? ¡Este taller es para ti! Únete a nosotros para aprender los fundamentos de Git y GitHub, las herramientas esenciales para la colaboración en cualquier proyecto digital.",
59+
"link": "https://forms.gle/BHCDTkGfGBH8Rio49",
60+
"date": "2024-12-04T19:00",
61+
"place": "Online",
62+
"modality": "Virtual",
63+
"hostedBy": "Ecuador In Tech",
64+
"image": "/github-workshop.jpg",
65+
"attendees": 31
66+
}
67+
]

src/assets/home-sections.json

+10-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@
88
"link": "/images/hacktoberfest.jpg",
99
"alt": "Grupo de personas"
1010
},
11-
"cta": {
12-
"text": "Sé voluntario",
13-
"link": "https://forms.gle/un4KaPsmmqS5Yx7Z9"
14-
}
11+
"cta": [
12+
{
13+
"text": "Sé voluntario",
14+
"link": "https://forms.gle/un4KaPsmmqS5Yx7Z9"
15+
},
16+
{
17+
"text": "Salón de la fama",
18+
"link": "/thanks"
19+
}
20+
]
1521
},
1622
"communityLeaders": {
1723
"id": "community-leaders",

src/components/AboutSection.astro

+7-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@ const { id, title, description, image, cta } = Astro.props;
1818
<p class="text-gray-600 mb-6">
1919
{description}
2020
</p>
21-
<Button text={cta.text} link={cta.link} style={Primary} />
21+
<div class="flex gap-3">
22+
{
23+
cta.map((item: any) => (
24+
<Button text={item.text} link={item.link} style={Primary} />
25+
))
26+
}
27+
</div>
2228
</div>
2329
<div class="bg-gray-200 order-1 lg:order-2 rounded-lg">
2430
<img

src/components/CardBase.astro

+41-41
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
---
1+
---
22
interface Props {
33
title: string;
44
description: string;
@@ -7,43 +7,43 @@ interface Props {
77
}
88
99
const { title, image, modality, description } = Astro.props;
10-
---
11-
<div
12-
class="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-shadow duration-300"
13-
>
14-
<div class="h-48 overflow-hidden relative">
15-
<img
16-
src={image}
17-
alt={title}
18-
class="w-full h-full object-cover transform hover:scale-105 transition-transform duration-300"
19-
/>
20-
{
21-
modality && (
22-
<div class="absolute top-4 right-4">
23-
<span
24-
class={`px-3 py-1 rounded-full text-sm font-semibold ${
25-
modality === "Hybrid"
26-
? "bg-purple-100 text-purple-800"
27-
: modality === "Virtual"
28-
? "bg-green-100 text-green-800"
29-
: "bg-blue-100 text-blue-800"
30-
}`}
31-
>
32-
{modality}
33-
</span>
34-
</div>
35-
)
36-
}
37-
</div>
38-
<div class="p-6">
39-
<!-- Title and description -->
40-
<div class="flex flex-col">
41-
<div class="flex justify-between items-start mb-3">
42-
<h2 class="text-xl font-bold text-gray-800">{title}</h2>
43-
</div>
44-
<p class="text-gray-600 mb-4 line-clamp-2">{description}</p>
45-
</div>
46-
<!-- Custom info -->
47-
<slot />
48-
</div>
49-
</div>
10+
---
11+
<div
12+
class="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-shadow duration-300"
13+
>
14+
<div class="h-48 overflow-hidden relative">
15+
<img
16+
src={image}
17+
alt={title}
18+
class="w-full h-full object-cover transform hover:scale-105 transition-transform duration-300"
19+
/>
20+
{
21+
modality && (
22+
<div class="absolute top-4 right-4">
23+
<span
24+
class={`px-3 py-1 rounded-full text-sm font-semibold ${
25+
modality === "Hybrid"
26+
? "bg-purple-100 text-purple-800"
27+
: modality === "Virtual"
28+
? "bg-green-100 text-green-800"
29+
: "bg-blue-100 text-blue-800"
30+
}`}
31+
>
32+
{modality}
33+
</span>
34+
</div>
35+
)
36+
}
37+
</div>
38+
<div class="p-6">
39+
<!-- Title and description -->
40+
<div class="flex flex-col">
41+
<div class="flex justify-between items-start mb-3">
42+
<h2 class="text-xl font-bold text-gray-800">{title}</h2>
43+
</div>
44+
<p class="text-gray-600 mb-4 line-clamp-2">{description}</p>
45+
</div>
46+
<!-- Custom info -->
47+
<slot />
48+
</div>
49+
</div>

src/components/CardEvent.astro

+17-12
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,18 @@ const justDate = date.split("T");
3434
stroke-linejoin="round"
3535
stroke-width="2"
3636
d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
37-
></path>
37+
>
38+
</path>
3839
</svg>
3940
<span>
4041
{
4142
new Date(justDate[0]).toLocaleDateString("es-EC", {
42-
weekday: "long",
43-
year: "numeric",
44-
month: "long",
45-
day: "numeric",
46-
timeZone: "ECT",
47-
})
43+
weekday: "long",
44+
year: "numeric",
45+
month: "long",
46+
day: "numeric",
47+
timeZone: "ECT",
48+
})
4849
}
4950
</span>
5051
</div>
@@ -60,12 +61,15 @@ const justDate = date.split("T");
6061
stroke-linejoin="round"
6162
stroke-width="2"
6263
d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"
63-
></path>
64+
>
65+
</path>
6466
<path
6567
stroke-linecap="round"
6668
stroke-linejoin="round"
6769
stroke-width="2"
68-
d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"></path>
70+
d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"
71+
>
72+
</path>
6973
</svg>
7074
<span>{place}</span>
7175
</div>
@@ -81,11 +85,12 @@ const justDate = date.split("T");
8185
stroke-linejoin="round"
8286
stroke-width="2"
8387
d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"
84-
></path>
88+
>
89+
</path>
8590
</svg>
86-
<span>{attendees} attendees</span>
91+
<span>{attendees} asistentes</span>
8792
</div>
88-
<a href={`/event/${id}`} class="details-button">View Details</a>
93+
<a href={`/event/${id}`} class="details-button">Ver detalles</a>
8994
</div>
9095
</CardBase>
9196

0 commit comments

Comments
 (0)