Skip to content

Portafolio Profesional con Blog Administrable (Laravel 12)

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.es
Notifications You must be signed in to change notification settings

MarioSandovalP3/laravel-12-portafolio-blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Portafolio Profesional con Blog Administrable (Laravel 12)

License: MIT PHP Version Laravel Version Frontend

Aplicación web que combina un portafolio profesional con un sistema de blog completamente administrable, construido con Laravel 12.

Estructura de Datos

Modelos Principales

  • User: Datos personales (nombre, foto, biografía, puesto)
  • Education: Estudios y certificaciones
  • WorkExperience: Experiencia laboral
  • Skill: Habilidades técnicas y profesionales
  • SocialNetwork: Redes sociales y contactos
  • Post: Artículos del blog con contenido y estado de publicación
  • PostCategory: Categorías para organización temática
  • PostTag: Etiquetas para clasificación detallada
  • PostComment: Sistema de comentarios

Secciones del Sitio

  • Portafolio Profesional:

    • Perfil personal con información biográfica
    • Educación y certificaciones
    • Experiencia laboral
    • Habilidades técnicas
    • Redes sociales
  • Blog:

    • Artículos organizados por categorías
    • Sistema de etiquetas
    • Comentarios
    • Búsqueda de contenido

Características Principales

  • Portafolio Profesional

    • Perfil personal con imagen y biografía
    • Timeline de educación y certificaciones
    • Cards de experiencia laboral
    • Barras de progreso para habilidades
    • Enlaces a redes sociales con iconos
    • Diseño responsive con Bootstrap 5
    • Interfaz construida con Livewire y Blade
  • Blog Administrable

    • CRUD completo para artículos
    • Categorías y etiquetas
    • Sistema de comentarios
    • Editor WYSIWYG (CKEditor)
    • Gestión de imágenes
    • Estilos con Bootstrap 5
  • Panel de Administración

    • Autenticación segura
    • Gestión de usuarios y roles
    • Estadísticas básicas
    • Configuración del sitio
    • Gestión de secciones del portafolio (perfil, educación, experiencia, etc.)
    • Interfaz construida con Livewire y Blade

Requisitos Técnicos

  • PHP 8.2 o superior
  • Laravel 12
  • Composer 2.5+
  • Base de datos MySQL 8.0+ o MariaDB 10.3+
  • Node.js 18+ (para assets frontend)
  • npm 9+ o yarn 1.22+
  • Bootstrap 5.3.7
  • FontAwesome 6.7.2 (para iconos)

Instalación y Configuración

  1. Clonar el repositorio:
git clone https://github.com/MarioSandovalP3/laravel-12-portafolio-blog.git
cd laravel-12-portafolio-blog
  1. Instalar dependencias:
composer install
npm install
  1. Compilar y optimizar los archivos frontend (JavaScript, CSS, etc.) usando Vite:
npm run build
  1. Para que las imágenes y archivos subidos sean accesibles públicamente, ejecuta:
php artisan storage:link

Esto creará un enlace simbólico desde public/storage a storage/app/public.

  1. Configurar entorno:
cp .env.example .env
php artisan key:generate
  1. Configurar base de datos en .env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nombre_bd
DB_USERNAME=usuario
DB_PASSWORD=contraseña
  1. Migrar y poblar base de datos:
php artisan migrate --seed
  1. Iniciar servidor de desarrollo:
php artisan serve

Acceso al Panel de Administración

Para acceder al panel de administración, utiliza las siguientes credenciales:

Configuración para Producción

  1. Optimizar el autoloader:
composer install --optimize-autoloader --no-dev
  1. Cachear configuraciones y rutas:
php artisan config:cache
php artisan route:cache
php artisan view:cache

Configuración con Docker Compose

El proyecto incluye un archivo docker-compose.yml preconfigurado con:

  1. Servicio MySQL:

    • Imagen: mysql:8.0
    • Puerto: 3306
    • Credenciales:
      • Usuario root: root
      • Base de datos: laravel_db
      • Usuario app: laravel_user
      • Contraseña: secret
    • Volumen persistente para datos
  2. Servicio phpMyAdmin (opcional):

Pasos para usar Docker:

  1. Copiar el archivo .env.example a .env y configurar:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=secret
  1. Ejecutar los servicios:
docker-compose up -d
  1. Para detener los servicios:
docker-compose down

Nota: Los datos de MySQL persisten gracias al volumen configurado.

Estructura de Datos

El portafolio utiliza los siguientes modelos principales:

  • User: Datos personales (nombre, foto, biografía, puesto)
  • Education: Estudios y certificaciones
  • WorkExperience: Experiencia laboral
  • Skill: Habilidades técnicas y profesionales
  • SocialNetwork: Redes sociales y contactos
  • Post: Artículos del blog con contenido y estado de publicación
  • PostCategory: Categorías para organización temática
  • PostTag: Etiquetas para clasificación detallada
  • PostComment: Sistema de comentarios

Configuración Adicional

Para configurar el correo (contacto y notificaciones), editar en .env:

MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"

Despliegue con Docker

El proyecto incluye configuración Docker con los siguientes servicios:

  • MySQL 8.0: Base de datos para la aplicación
  • phpMyAdmin: Interfaz web para administrar la base de datos

Configuración inicial:

  1. Construir los contenedores:
docker-compose build
  1. Iniciar los servicios:
docker-compose up -d

Configuración de la base de datos:

  • Host: mysql (nombre del servicio en Docker)
  • Puerto: 3306
  • Usuario: laravel_user
  • Contraseña: secret
  • Base de datos: laravel_db

Acceso a phpMyAdmin:

  1. Abrir en el navegador: http://localhost:8080
  2. Credenciales:
    • Usuario: root
    • Contraseña: root

Variables de entorno para Docker:

Configurar en .env:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=secret

Modelo de Negocio

Este proyecto sigue un modelo Open Core:

  • Versión Gratuita: Código completo disponible en GitHub (MIT License)
  • Servicios Premium:
    • Configuración, personalización, migraciones.
    • Personalizaciones y desarrollo de módulos adicionales
    • Soporte técnico prioritario
    • Optimizaciones SEO
    • Plantillas exclusivas

Estructura de monetización:

GitHub (gratis) → Genera interés → Conversión a clientes de servicios pagos

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

☕ Apóyame

Si este proyecto te fue útil, puedes apoyarme con una donación:

💖 Donar por PayPal

About

Portafolio Profesional con Blog Administrable (Laravel 12)

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.es

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published