Skip to content

Defer1189/myPortfolio

Repository files navigation

MyPortfolio - Aplicación Full-Stack Profesional Estado: En desarrollo Tamaño del repositorio Último commit

Logo de mi portafolio

¡Bienvenido a MyPortfolio! Este es un proyecto Full-Stack profesional que presenta mi experiencia como analista y desarrollador de software. MyPortfolio nace como una plataforma de presentación personal para mostrar proyectos, habilidades y trayectoria profesional de forma elegante, interactiva y escalable.

Node.js versión 22.14.0 npm versión 11.3.0 Licencia MIT


📌 Visión General

Este proyecto está organizado como un monorepo y contiene:

  • Cliente (client/): Aplicación frontend en React + Vite, diseñada para ser interactiva y visualmente atractiva, incluyendo un logotipo animado personalizado.
  • Servidor (server/): backend con Node.js, Express y MongoDB.

Incluye control de calidad, buenas prácticas de código, documentación de API y configuración para despliegue futuro.


🛠️ Tecnologías Principales

Frontend

  • React v19+ React v19+
  • Vite Vite
  • JavaScript (ESM, JSX) JavaScript
  • CSS (con variables y animaciones) CSS

Backend

  • Node.js Node.js
  • Express Express
  • MongoDB con Mongoose MongoDB
  • JWT y bcrypt JWT bcrypt

DevTools

  • ESLint (Flat Config) ESLint
  • Prettier Prettier
  • Husky + lint-staged Husky
  • EditorConfig EditorConfig
  • Swagger / OpenAPI Swagger

✅ Requisitos Previos


🚀 Instalación

Sigue estos pasos para configurar y ejecutar el proyecto localmente:

  1. Clonar el repositorio:
git clone https://github.com/Defer1189/myPortfolio.git
cd myPortfolio
  1. Instalar dependencias de la raíz (herramientas globales como Husky, Prettier, ESLint):
npm install
  1. Instalar dependencias del cliente:
cd client
npm install
cd ..
  1. Instalar dependencias del servidor:
cd server
npm install
cd ..

⚙️ Configuración del Entorno (Servidor)

El servidor utiliza archivos .env para la configuración específica del entorno.

  1. En la carpeta server/, crea un archivo .env.development para el entorno de desarrollo:
# server/.env.development
PORT=3000
DB_URI=mongodb://localhost:27017/myportfolio_dev
NODE_ENV=development
SWAGGER_SERVER=http://localhost:3000
  1. Para producción, crea un archivo server/.env.production con las credenciales y URLs correspondientes (este archivo NO debe ser commiteado si contiene secretos):
# server/.env.production
PORT=PRODUCCION_PUERTO
DB_URI=MONGODB_ATLAS_URI
NODE_ENV=production
SWAGGER_SERVER=https://tu_dominio.com
# Añade otros secretos como JWT_SECRET si es necesario
  1. (Opcional) Crea server/.env.staging si planeas usar un entorno de pre-producción.

🖥️ Ejecución del Proyecto

Puedes ejecutar el cliente y el servidor de forma independiente, o ambos simultáneamente:

  • Ejecutar ambos (Cliente y Servidor) simultáneamente (recomendado para desarrollo): Desde la raíz del proyecto (myPortfolio/), ejecuta:

    npm run dev

    Ambos servidores se iniciarán en paralelo.

  • Servidor Backend (independiente):

    • Modo Desarrollo (desde myPortfolio/server/):

      npm run dev

      La API estará disponible en http://localhost:3000 (o el puerto configurado en .env.development). La documentación de Swagger estará en http://localhost:3000/api-docs.

    • Modo Producción (desde myPortfolio/server/):

      npm start

      La API se ejecutará con la configuración de .env.production.

  • Cliente Frontend (independiente):

    • Modo Desarrollo (desde myPortfolio/client/):
      npm run dev
      La aplicación React estará disponible en http://localhost:5173 (o el puerto por defecto de Vite).

🌐 Demo en Vivo (Próximamente)

¡Visita la aplicación desplegada para verla en acción!

Enlace a la demo en vivo


📸 Capturas de Pantalla / GIF (Próximamente)

Aquí encontrarás capturas de pantalla o un GIF animado del logotipo y las secciones clave de la aplicación.

(Se añadirán imágenes aquí una vez estén disponibles.)


🪪 Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.


🤝 Contribuciones

¡Tus contribuciones son bienvenidas! Si deseas contribuir a este proyecto, por favor, consulta la guía de contribución en CONTRIBUTING.md para más detalles sobre cómo empezar y las pautas a seguir.


🤝 Contacto

¿Tienes preguntas, ideas o feedback? ¡Contáctame a través de mi perfil de GitHub o abre un issue!


About

This is my personal portfolio.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published