Un portafolio web moderno y responsivo desarrollado con React, TypeScript y Vite para mostrar mis habilidades en programación y proyectos destacados.
- Diseño Moderno: Interfaz limpia y profesional con animaciones fluidas
- Totalmente Responsivo: Optimizado para dispositivos móviles, tablets y desktop
- Navegación SPA: Single Page Application con React Router DOM
- Lazy Loading: Carga optimizada de componentes para mejor rendimiento
- Animaciones: Implementadas con Motion para una experiencia visual atractiva
- Filtros Dinámicos: Sistema de filtrado para proyectos
- SEO Optimizado: Meta tags y estructura semántica
- React 19.1.0 - Biblioteca principal de UI
- TypeScript - Tipado estático para JavaScript
- Vite - Build tool y servidor de desarrollo
- React Router DOM - Enrutamiento del lado del cliente
- Tailwind CSS - Framework de CSS utility-first
- Motion - Animaciones y transiciones
- React Icons - Iconografía
- React Slick - Carrusel de componentes
- Slick Carousel - Funcionalidad de carrusel
- ESLint - Linting de código
- Sass - Preprocesador CSS
- PNPM - Gestor de paquetes
PortfolioB14S/
├── public/ # Archivos estáticos
├── src/
│ ├── assets/ # Recursos (imágenes, iconos)
│ ├── components/ # Componentes reutilizables
│ │ ├── button/ # Componentes de botones
│ │ ├── cards/ # Componentes de tarjetas
│ │ ├── carrusel/ # Componente carrusel
│ │ ├── cuadros/ # Componentes de cuadros
│ │ ├── enlaces/ # Componentes de enlaces
│ │ ├── filter/ # Componentes de filtrado
│ │ └── nav/ # Componentes de navegación
│ ├── context/ # Context API de React
│ ├── hooks/ # Custom hooks
│ ├── routes/ # Páginas principales
│ │ ├── homePage.tsx # Página de inicio
│ │ ├── techPage.tsx # Página de tecnologías
│ │ ├── projectsPage.tsx # Página de proyectos
│ │ ├── aboutPage.tsx # Página acerca de
│ │ └── contactPage.tsx # Página de contacto
│ ├── services/ # Servicios y APIs
│ ├── styles/ # Estilos globales
│ ├── App.tsx # Componente principal
│ └── main.tsx # Punto de entrada
├── package.json # Dependencias y scripts
├── vite.config.ts # Configuración de Vite
├── tsconfig.json # Configuración de TypeScript
└── README.md # Este archivo
- Node.js (versión 16 o superior)
- PNPM (recomendado) o NPM
-
Clonar el repositorio
git clone [URL_DEL_REPOSITORIO] cd PortfolioB14S -
Instalar dependencias
pnpm install # o npm install -
Ejecutar en modo desarrollo
pnpm dev # o npm run dev -
Abrir en el navegador
http://localhost:5173
pnpm dev- Inicia el servidor de desarrollopnpm build- Construye la aplicación para producciónpnpm lint- Ejecuta ESLint para revisar el códigopnpm preview- Previsualiza la build de producción
- Presentación personal
- Resumen de habilidades
- Enlaces a redes sociales
- Stack tecnológico
- Habilidades técnicas
- Herramientas de desarrollo
- Galería de proyectos
- Sistema de filtrado dinámico
- Detalles de cada proyecto
- Información personal
- Experiencia profesional
- Educación y certificaciones
- Formulario de contacto
- Información de contacto
- Enlaces a redes profesionales
Los componentes de las páginas se cargan de forma perezosa para optimizar el rendimiento inicial:
const TechPage = lazy(() => import("./routes/techPage"));
const ProjectsPage = lazy(() => import("./routes/projectsPage"));
// ...Utiliza React Context para el manejo de estado global, especialmente para el sistema de filtros:
<Route path="/projectsPage" element={
<FilterProvider>
<ProjectsPage />
</FilterProvider>
} />Implementa React Suspense para manejar la carga de componentes lazy:
<Suspense fallback={<div className="mt-10 text-center text-lg font-bold">Loading...</div>}>
<Routes>
{/* Rutas */}
</Routes>
</Suspense>El proyecto incluye metadatos optimizados para SEO:
- Meta description descriptiva
- Keywords relevantes
- Open Graph tags para redes sociales
- Estructura semántica HTML5
- Navegación Fluida: SPA con transiciones suaves entre páginas
- Filtrado Inteligente: Sistema de filtros para organizar proyectos
- Animaciones Atractivas: Micro-interacciones con Motion
- Carrusel Interactivo: Showcase de proyectos y habilidades
- Diseño Adaptativo: Experiencia consistente en todos los dispositivos
pnpm buildLos archivos optimizados se generarán en la carpeta dist/.
- Netlify: Ideal para SPAs con React Router
- Vercel: Excelente integración con proyectos de Vite
- GitHub Pages: Para hosting gratuito
Si deseas contribuir al proyecto:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto es de uso personal y educativo.
Bryan14Saenz
- GitHub: @Bryan14Saenz
- Portfolio: bryan14saenz.is-a.dev
⭐ Si te gusta este proyecto, ¡no olvides darle una estrella!