Portafolio de Diseñador Gráfico - Revers Studio
Este proyecto es un portafolio profesional diseñado para mostrar el trabajo de un diseñador gráfico. Está construido con Astro, React, y TailwindCSS, y está optimizado para un rendimiento rápido y una experiencia de usuario fluida. El portafolio incluye secciones como proyectos destacados, habilidades, experiencia, y un formulario de contacto funcional.
Características Principales
- Diseño Responsivo: Totalmente optimizado para dispositivos móviles, tabletas y escritorios.
- Modo Oscuro: Soporte completo para modo oscuro con transiciones suaves.
- Animaciones: Animaciones personalizadas para una experiencia interactiva.
- Optimización de Imágenes: Uso de
astro/assetspara optimizar imágenes. - Formulario de Contacto: Formulario funcional con validación y envío a través de Formpress.
- Carrusel de Proyectos: Carrusel interactivo para mostrar proyectos destacados.
- Carga Diferida: Imágenes y componentes cargados de forma diferida para mejorar el rendimiento.
- SEO Optimizado: Metadatos y estructura optimizados para motores de búsqueda.
Tecnologías Utilizadas
- Astro: Framework principal para la construcción del sitio.
- React: Para componentes interactivos como el carrusel y el formulario de contacto.
- TailwindCSS: Para estilos rápidos y consistentes.
- Framer Motion: Para animaciones fluidas.
- Swiper: Para el carrusel de proyectos.
- Formpress: Para la gestión del formulario de contacto.
- astro-compress: Para optimización de HTML, CSS, JS y SVG.
Estructura del Proyecto
portfolio-designer-website/
├── src/
│ ├── components/ # Componentes reutilizables (React y Astro)
│ ├── layouts/ # Layouts principales del sitio
│ ├── pages/ # Páginas del sitio
│ ├── styles/ # Archivos CSS personalizados
│ └── env.d.ts # Tipos de entorno para Astro
├── public/ # Archivos estáticos (imágenes, favicon, etc.)
├── astro.config.mjs # Configuración de Astro
├── tailwind.config.js # Configuración de TailwindCSS
├── tsconfig.json # Configuración de TypeScript
├── package.json # Dependencias y scripts del proyecto
├── .gitignore # Archivos y carpetas ignorados por Git
└── README.md # Documentación del proyectoInstalación y Configuración
Sigue estos pasos para instalar y ejecutar el proyecto localmente:
Instalar Dependencias Asegúrate de tener Node.js instalado. Luego, ejecuta:
bashnpm installConfigurar Variables de Entorno Crea un archivo
.enven la raíz del proyecto y agrega las variables necesarias, como el ID de Formpress.Ejecutar el Proyecto en Desarrollo
bashnpm run devEl sitio estará disponible en
http://localhost:3000.Construir para Producción
bashnpm run buildLos archivos estáticos se generarán en la carpeta
dist/.Previsualizar la Build
bashnpm run preview
Configuración del Formulario de Contacto (Formpress)
Este proyecto utiliza Formpress para gestionar los envíos del formulario de contacto.
Sigue estos pasos para configurarlo correctamente:
Crea una cuenta y formulario en Formpress
- Regístrate en Formpress y crea un nuevo formulario.
- Obtén tu
FORM-IDúnico desde el panel de Formpress.
Actualiza el ID en el código
- Abre el archivo
src/components/react/ContactForm.jsx. - Busca la línea donde aparece la URL de Formpress:js
const response = await fetch("https://formpress.org/api/forms/TU_ID_DE_FORMPRESS/submit", { - Reemplaza
TU_ID_DE_FORMPRESSpor tuFORM-IDreal, por ejemplo:jsconst response = await fetch("https://formpress.org/api/forms/abcdef123456/submit", {
- Abre el archivo
Personaliza los campos y mensajes
- Puedes modificar los campos del formulario (
name,email,subject,message) según tus necesidades. - Los mensajes de éxito y error se pueden personalizar en el mismo archivo.
- Puedes modificar los campos del formulario (
Configura notificaciones y respuestas automáticas
- Desde el panel de Formpress, puedes configurar notificaciones por email, respuestas automáticas y otras integraciones (Slack, Zapier, etc).
Prueba el formulario
- Ejecuta el proyecto en modo desarrollo (
npm run dev) y realiza un envío de prueba desde la página de contacto. - Verifica que los envíos lleguen correctamente a tu panel de Formpress.
- Ejecuta el proyecto en modo desarrollo (
Cambiar enlaces de redes sociales y contacto
- Los enlaces de redes sociales y datos de contacto se encuentran en:
src/pages/contact.astro(para la sección de contacto)src/components/react/MobileMenu.jsx(para el menú móvil)src/components/Navigation.astro(para el menú principal)
- Modifica los valores de los atributos
hrefpara personalizar tus redes sociales, email, teléfono, etc.
Despliegue
Este proyecto está optimizado para ser desplegado en plataformas como Vercel, Netlify, o Render. Sigue las instrucciones específicas de tu plataforma de despliegue para subir los archivos generados en la carpeta dist/.
🌟 Contribuciones ¡Las contribuciones son bienvenidas! Si encuentras un problema o tienes una idea para mejorar este proyecto, no dudes en contactarnos
📬 Cómo Usar la API de FormPress
Este proyecto utiliza FormPress para gestionar los formularios de contacto. A continuación, se explica cómo configurarlo:
Crear una Cuenta en FormPress
Regístrate en FormPress y crea un nuevo formulario. Obtendrás unFORM-IDúnico.Actualizar el Formulario
En el archivosrc/pages/contacto.astro, reemplazaYOUR-FORM-IDcon elFORM-IDproporcionado por FormPress:html<form action="https://formpress.dev/submit/YOUR-FORM-ID" method="POST" ></form>Configurar Notificaciones
En el panel de FormPress, configura las notificaciones por correo electrónico o integraciones con herramientas como Slack o Zapier.Probar el Formulario
Inicia el servidor de desarrollo y prueba el formulario de contacto para asegurarte de que los datos se envían correctamente.Verificar Envíos
Accede al panel de FormPress para revisar los envíos realizados desde el formulario.
Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
💬 Support
Developed with 💙 by Revers Studio