Aplicación web para un portafolio personal y blog, construida con React y Vite. Incluye un panel de administración completo para gestionar contenido, proyectos, experiencia y posts del blog.
- Panel de Administración Seguro: Autenticación con Firebase para gestionar todo el contenido.
- Gestión de Portafolio: CRUD completo para proyectos, incluyendo subida de imágenes a Cloudinary.
- Gestión de Experiencia: Añade, edita y elimina experiencia laboral y educativa.
- Blog con Markdown: Crea y edita posts de blog usando Markdown, con gestión de comentarios.
- Soporte Multi-idioma (i18n): Contenido dinámico en Español e Inglés.
- Diseño Responsivo: Interfaz moderna construida con Tailwind CSS.
- Frontend: React, Vite
- Backend & Base de Datos: Firebase (Realtime Database, Authentication)
- Alojamiento de Imágenes: Cloudinary
- Estilos: Tailwind CSS
- Routing: React Router
Sigue estos pasos para tener una copia del proyecto funcionando en tu máquina local.
Asegúrate de tener instalado Node.js (se recomienda versión 18.x o superior).
- Node.js
git clone https://github.com/tu-usuario/RafguiWebAppReact.git
cd RafguiWebAppReactUsa npm o yarn para instalar todas las dependencias del proyecto.
npm install
# o
yarn installEste proyecto necesita credenciales de Firebase y Cloudinary para funcionar.
-
Crea un archivo
.enven la raíz del proyecto. Puedes duplicar el archivo de ejemplo:cp .env.example .env
-
Abre el archivo
.envy rellena las siguientes variables con tus propias credenciales:# Credenciales de tu proyecto de Firebase VITE_FIREBASE_API_KEY="TU_API_KEY" VITE_FIREBASE_AUTH_DOMAIN="TU_AUTH_DOMAIN" VITE_FIREBASE_PROJECT_ID="TU_PROJECT_ID" VITE_FIREBASE_STORAGE_BUCKET="TU_STORAGE_BUCKET" VITE_FIREBASE_MESSAGING_SENDER_ID="TU_SENDER_ID" VITE_FIREBASE_APP_ID="TU_APP_ID" # Credenciales de Cloudinary VITE_CLOUDINARY_CLOUD_NAME="TU_CLOUD_NAME" VITE_CLOUDINARY_UPLOAD_PRESET="TU_UPLOAD_PRESET_PERFIL" VITE_CLOUDINARY_PORTFOLIO_PRESET="TU_UPLOAD_PRESET_PORTFOLIO"
-
Firebase:
- Ve a la Consola de Firebase.
- Crea un nuevo proyecto o selecciona uno existente.
- En la configuración de tu proyecto (
Project Settings), ve a la sección "General". - Bajo "Your apps", crea una nueva aplicación web.
- Firebase te proporcionará un objeto de configuración
firebaseConfig. Copia los valores en tu archivo.env. - Asegúrate de habilitar Authentication (con proveedor Email/Password) y Realtime Database.
-
Cloudinary:
- Ve a tu Dashboard de Cloudinary.
- El
Cloud Namese encuentra en la parte superior del dashboard. - Ve a
Settings(icono de engranaje) >Upload. - Baja hasta "Upload presets" y crea dos presets sin firmar (unsigned): uno para las fotos de perfil y otro para las imágenes del portafolio. Asigna sus nombres a
VITE_CLOUDINARY_UPLOAD_PRESETyVITE_CLOUDINARY_PORTFOLIO_PRESETrespectivamente.
Una vez configurado, puedes iniciar el servidor de desarrollo.
npm run devLa aplicación estará disponible en http://localhost:5173 (o el puerto que indique Vite).
npm run dev: Inicia el servidor de desarrollo.npm run build: Compila la aplicación para producción.npm run preview: Previsualiza la build de producción localmente.