{"id":17726566,"url":"https://github.com/muke78/portafolio","last_synced_at":"2026-04-09T02:31:37.350Z","repository":{"id":259025144,"uuid":"867557977","full_name":"muke78/Portafolio","owner":"muke78","description":"Portafolio creado con astro 4 con react soporte para typescript con dynamic-islands y con la libreria de @astrojs/tailwind en su version 5.1.2 ","archived":false,"fork":false,"pushed_at":"2025-03-12T10:45:57.000Z","size":5768,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T11:33:54.648Z","etag":null,"topics":["astro","astro-compress","daisyui","flowbite","framer-motion","husky","i18n","pnpm","portafolio","portafolio-web","react","react-icons","sitemap","swiper","swup","tailwind","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"https://khelde.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muke78.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-04T09:41:22.000Z","updated_at":"2025-03-12T02:42:00.000Z","dependencies_parsed_at":"2024-10-25T21:18:29.419Z","dependency_job_id":"982633d1-c632-4330-bf76-b5e280c87f3b","html_url":"https://github.com/muke78/Portafolio","commit_stats":null,"previous_names":["muke78/portafolio"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke78%2FPortafolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke78%2FPortafolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke78%2FPortafolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke78%2FPortafolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muke78","download_url":"https://codeload.github.com/muke78/Portafolio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246485200,"owners_count":20785257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astro","astro-compress","daisyui","flowbite","framer-motion","husky","i18n","pnpm","portafolio","portafolio-web","react","react-icons","sitemap","swiper","swup","tailwind","tailwindcss","typescript"],"created_at":"2024-10-25T17:05:57.127Z","updated_at":"2025-12-30T23:14:23.468Z","avatar_url":"https://github.com/muke78.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Portafolio Personal\n\nSe realizó el portafolio con la tecnología de [Astro](https://astro.build/) y con la librería de [React](https://es.react.dev/) montada a Astro, con [Tailwind](https://tailwindui.com/) en su interfaz desde @tailwindcss/vite con Tailwind CSS 4.1.3.\n\n- Se montó [DaisyUI](https://daisyui.com/) sobre Tailwind para manejar los temas de la aplicación (v5.0.6).\n- Versión estable `v.3.1.3` release, próximas y futuras actualizaciones.\n- Próxima actualización `v.3.1.4` o `v.3.1.x` o `v.3.x.x`.\n- Se utiliza la herramienta de reenvío de puertos desde host de túnel para revisar los cambios del servidor en tiempo real desde un celular.\n\n# 🔷 Diagrama de flujo de procesos para entender el portfolio\n\n```mermaid\nflowchart TD\n    %% Build Engine\n    AE[\"Astro Build Engine\"]:::build\n    click AE \"https://github.com/muke78/portafolio/blob/main/astro.config.mjs\"\n\n    %% React Components Hierarchy\n    subgraph \"React Components Hierarchy\"\n        A[\"Atoms\"]:::react\n        click A \"https://github.com/muke78/portafolio/tree/main/src/components/atoms\"\n        F[\"Features\"]:::react\n        click F \"https://github.com/muke78/portafolio/tree/main/src/components/features\"\n        O[\"Organisms\"]:::react\n        click O \"https://github.com/muke78/portafolio/tree/main/src/components/organisms\"\n        T[\"Templates\"]:::react\n        click T \"https://github.com/muke78/portafolio/tree/main/src/components/templates\"\n    end\n\n    %% Styling \u0026 Theme Management\n    S[\"Tailwind/DaisyUI Styling\"]:::styling\n    click S \"https://github.com/muke78/portafolio/blob/main/tailwind.config.js\"\n    SC[\"Styles\"]:::styling\n    click SC \"https://github.com/muke78/portafolio/blob/main/src/styles/styles.css\"\n    TH[\"Theme Hook (useTheme)\"]:::hook\n    click TH \"https://github.com/muke78/portafolio/blob/main/src/hooks/useTheme.ts\"\n\n    %% Internationalization (i18n) Modules\n    subgraph \"Internationalization (i18n)\"\n        L[\"Locale Definitions\"]:::i18n\n        click L \"https://github.com/muke78/portafolio/tree/main/src/i18n/locales\"\n        IL[\"i18n Logic\"]:::i18n\n        click IL \"https://github.com/muke78/portafolio/blob/main/src/i18n/index.ts\"\n        IU[\"i18n UI\"]:::i18n\n        click IU \"https://github.com/muke78/portafolio/blob/main/src/i18n/ui.ts\"\n        IUT[\"i18n Utils\"]:::i18n\n        click IUT \"https://github.com/muke78/portafolio/blob/main/src/i18n/utils.ts\"\n        LU[\"Language Data Utilities\"]:::i18n\n        click LU \"https://github.com/muke78/portafolio/tree/main/src/utils/en\"\n    end\n\n    %% Content \u0026 Layout (Page Routing)\n    subgraph \"Content \u0026 Layout\"\n        P[\"Pages\"]:::pages\n        click P \"https://github.com/muke78/portafolio/tree/main/src/pages\"\n        LAY[\"Layout\"]:::pages\n        click LAY \"https://github.com/muke78/portafolio/blob/main/src/layouts/Layout.astro\"\n    end\n\n    %% Utility \u0026 Data Management\n    UD[\"Utilities \u0026 Data\"]:::utility\n    click UD \"https://github.com/muke78/portafolio/tree/main/src/utils\"\n    DT[\"Data Types\"]:::utility\n    click DT \"https://github.com/muke78/portafolio/tree/main/src/types\"\n\n    %% Public Assets \u0026 Configurations\n    PA[\"Public Assets \u0026 Configurations\"]:::public\n    click PA \"https://github.com/muke78/portafolio/tree/main/public\"\n    RT[\"robots.txt\"]:::public\n    click RT \"https://github.com/muke78/portafolio/blob/main/robots.txt\"\n\n    %% Connections\n    AE --\u003e|\"compiles\"| LAY\n    LAY --\u003e|\"uses\"| T\n    T --\u003e|\"includes\"| O\n    O --\u003e|\"composedOf\"| F\n    F --\u003e|\"contains\"| A\n    S ---|\"styles\"| A\n    S ---|\"styles\"| F\n    S ---|\"styles\"| O\n    S ---|\"styles\"| T\n    TH ---|\"manages\"| S\n    IL ---|\"supplies\"| P\n    L ---|\"provides\"| IL\n    IU ---|\"renders\"| P\n    IUT ---|\"supports\"| IL\n    LU ---|\"feeds\"| P\n    P --\u003e|\"consumes\"| UD\n    UD --\u003e|\"defines\"| DT\n    PA --\u003e|\"serves\"| P\n    AE --\u003e|\"integrates\"| PA\n    IU ---|\"influences\"| S\n\n    %% Class definitions\n    classDef build fill:#f9d423,stroke:#333,stroke-width:2px;\n    classDef react fill:#bbdef0,stroke:#1e88e5,stroke-width:2px;\n    classDef styling fill:#f8bbd0,stroke:#d81b60,stroke-width:2px;\n    classDef hook fill:#c5e1a5,stroke:#7cb342,stroke-width:2px;\n    classDef i18n fill:#ffe082,stroke:#ffa000,stroke-width:2px;\n    classDef pages fill:#dcedc8,stroke:#8bc34a,stroke-width:2px;\n    classDef utility fill:#d1c4e9,stroke:#673ab7,stroke-width:2px;\n    classDef public fill:#b2ebf2,stroke:#0097a7,stroke-width:2px;\n\n```\n\n## 🏯 Lighthouse y optimización de la página\n\n![Lighthouse Score](./image.png)\n\n## 📋 Tabla de Contenidos\n\n- [🛠️ Tecnologías Utilizadas](#️-tecnologías-utilizadas)\n- [📁 Estructura del Proyecto](#-estructura-del-proyecto)\n- [⚙️ Requisitos Previos](#️-requisitos-previos)\n- [🔧 Instalación](#-instalación)\n- [💻 Desarrollo Local](#-desarrollo-local)\n- [🗄️ Base de Datos](#️-base-de-datos)\n- [🌐 Internacionalización](#-internacionalización)\n- [🎨 Temas](#-temas)\n- [📄 Licencia](#-licencia)\n- [🤝 Contribuir](#-contribuir)\n- [📞 Contacto](#-contacto)\n\n## 🛠️ Tecnologías Utilizadas\n\n- **Framework**: [Astro](https://astro.build/) v5.4.2\n- **UI Framework**: [React](https://reactjs.org/) v18.3.1\n- **Estilos**:\n  - [Tailwind CSS](https://tailwindcss.com/) v4.1.3\n  - [DaisyUI](https://daisyui.com/) v5.0.6\n- **Animaciones**:\n  - [Framer Motion](https://www.framer.com/motion/)\n  - [Swiper](https://swiperjs.com/)\n  - [Animate.css](https://animate.style/)\n- **Formularios**:\n  - [React Hook Form](https://react-hook-form.com/)\n  - [Zod](https://zod.dev/)\n- **Otros**:\n  - [TypeScript](https://www.typescriptlang.org/)\n  - [Lucide Icons](https://lucide.dev/)\n  - [React Icons](https://react-icons.github.io/react-icons/)\n\n## 📁 Estructura del Proyecto\n\n```bash\nsrc/\n├── components/           # Componentes React organizados por Atomic Design\n│   ├── atoms/           # Componentes básicos\n│   ├── features/        # Características específicas\n│   ├── organisms/       # Componentes compuestos\n│   └── templates/       # Plantillas Astro\n├── db/                  # Configuración de la base de datos\n├── hooks/               # Hooks personalizados de React\n├── i18n/                # Configuración de internacionalización\n├── layouts/             # Layouts de Astro\n├── pages/               # Rutas y páginas (es, en, fr)\n├── schemas/             # Esquemas de validación Zod\n├── styles/              # Estilos globales\n├── types/               # Tipos TypeScript\n└── utils/               # Utilidades y datos estáticos\n```\n\n## ⚙️ Requisitos Previos\n\n- Node.js (v18 o superior)\n- pnpm\n- Git\n\n## 🔧 Instalación\n\n- Clona el repositorio:\n\n```bash\n    git clone https://github.com/muke78/Portafolio.git\n    cd Portafolio\n```\n\n- Instala las dependencias:\n\n```bash\n    pnpm install\n```\n\n- Copia el archivo de variables de entorno:\n\n```bash\n    cp .env.example .env\n```\n\n## 💻 Desarrollo Local\n\n- Inicia el servidor de desarrollo:\n\n```bash\n    pnpm dev\n```\n\n- El sitio estará disponible en [http://localhost:4321](http://localhost:4321)\n\n## 🗄️ Base de Datos\n\n- Configuración de Drizzle\n- Genera las migraciones:\n\n```bash\n    pnpm db:generate\n```\n\n- Aplica las migraciones:\n\n```bash\n    pnpm db:migrate\n```\n\n- Visualiza la base de datos (opcional):\n\n```bash\n    pnpm db:studio\n```\n\n## 🌐 Internacionalización\n\nEl proyecto soporta múltiples idiomas:\n\n- 🇪🇸 Español (es)\n- 🇺🇸 Inglés (en)\n- 🇫🇷 Francés (fr)\n\nLos archivos de traducción se encuentran en `locales`.\n\n## 🎨 Temas\n\nEl proyecto incluye un sistema de temas usando DaisyUI con soporte para modo claro y oscuro.\n\n## 📄 Licencia\n\nEste proyecto está bajo la licencia MIT. Ver el archivo LICENSE para más detalles.\n\n## 🤝 Contribuir\n\nLas contribuciones son bienvenidas. Por favor, abre un issue o pull request para sugerir cambios o mejoras.\n\n## 📞 Contacto\n\nSi tienes alguna pregunta o sugerencia, no dudes en contactarme:\n\n- Nombre: [Erick Gonzalez](https://github.com/muke78)\n- Correo : \u003cerickm.gonzalez.rivera@gmail.com\u003e\n\n⭐️ Si te gusta este proyecto, ¡no olvides darle una estrella en GitHub!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuke78%2Fportafolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuke78%2Fportafolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuke78%2Fportafolio/lists"}