Comunidad Tecnológica Independiente — Aprende, comparte y conecta.
| Tecnología | Uso |
|---|---|
| Next.js 15 | Framework (App Router) |
| TypeScript | Lenguaje (tipado estricto) |
| Tailwind CSS | Estilos |
| Lucide React | Iconos |
| next/font | Fuentes (Inter + Space Grotesk) |
pysquad/
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout (fuentes, SEO, Header/Footer)
│ ├── page.tsx # Landing page (Home)
│ ├── miembros/
│ │ └── page.tsx # Directorio de miembros
│ └── eventos/
│ └── page.tsx # Historial de eventos
├── components/
│ ├── layout/
│ │ ├── Header.tsx # Header sticky con nav
│ │ └── Footer.tsx # Footer con links sociales
│ ├── home/
│ │ ├── HeroSection.tsx
│ │ ├── PillarsSection.tsx
│ │ └── FeaturedEvent.tsx
│ ├── miembros/
│ │ ├── MemberCard.tsx
│ │ └── MemberFilter.tsx
│ └── eventos/
│ └── EventCard.tsx
├── data/
│ └── mockData.ts # ← Agrega miembros y eventos aquí
├── types/
│ └── index.ts # Interfaces TypeScript globales
└── lib/
└── utils.ts # Helpers (cn, formatDate, etc.)
# Instalar dependencias
npm install
# Servidor de desarrollo
npm run dev
# Build de producción
npm run build
# Linter
npm run lintAbre http://localhost:3000 en tu navegador.
¡Las contribuciones son bienvenidas! Este proyecto es Open Source y parte de la comunidad PySquad.
Edita data/mockData.ts y agrega un objeto al array members siguiendo la interfaz Member de types/index.ts:
{
id: "member-XXX", // ID único
name: "Tu Nombre",
role: "Tu Rol / Especialidad",
bio: "Una descripción corta de ti.",
avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=TuNombre",
technologies: ["React", "TypeScript"], // Ver TechTag en types/index.ts
social: {
github: "https://github.com/tu-usuario",
linkedin: "https://linkedin.com/in/tu-perfil",
},
}Agrega un objeto al array events siguiendo la interfaz Event:
{
id: "event-XXX",
title: "Título de la charla",
description: "Descripción del evento.",
date: "2025-08-20", // ISO 8601
time: "18:00",
location: "Lugar del evento",
speaker: "Nombre del speaker",
speakerRole: "Rol del speaker",
category: "Web", // Ver EventCategory en types/index.ts
status: "past", // "past" | "upcoming"
slidesUrl: "https://...", // Opcional
repoUrl: "https://...", // Opcional
}- Fork del repositorio
- Crea una rama:
git checkout -b feat/agregar-mi-perfil - Haz tus cambios y haz commit:
git commit -m "feat: agrego perfil de [Tu Nombre]" - Push:
git push origin feat/agregar-mi-perfil - Abre un Pull Request
MIT — Hecho con ❤️ por la comunidad PySquad.