Skip to content

Lautaro-R-collins/VintageTone-Front-Vue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

274 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VintageTone - Audio E-commerce

Vue.js Vite Tailwind Pinia

VintageTone es una plataforma de e-commerce dedicada a la venta de equipos de audio vintage, instrumentos musicales y accesorios de alta gama. Diseñada con un enfoque en la experiencia de usuario (UX).


Vista Previa del Proyecto

vintageToneApp

Tip

Puedes ver el sitio en vivo aquí: Demo en Vivo


Características Principales

Experiencia de Compra Completa

  • Catálogo Dinámico: Navegación por categorías y subcategorías con filtros reactivos.
  • Búsqueda Avanzada: Sistema de búsqueda predictiva con resultados en tiempo real.
  • Carrito de Compras: Gestión completa de productos (añadir, quitar, persistencia).
  • Favoritos: Lista de deseos personalizada para cada usuario.

Gestión de Usuarios y Seguridad

  • Autenticación Robusta: Registro e inicio de sesión - Autenticación segura con manejo responsable de credenciales y sesiones.
  • Sistema de roles: Permisos que separa claramente usuarios regulares y administradores.
  • Perfiles Personalizados: Gestión de información personal y subida de avatares.
  • Roles y Permisos: Diferenciación clara entre usuarios regulares y administradores.
  • Validación de datos: Acceso y uso de middlewares de seguridad para prevenir accesos no autorizados y abusos.

Panel de Administración (Back-Office)

  • Gestión de Inventario: Interfase para que administradores puedan gestionar productos y stock.
  • Monitoreo de Órdenes: Visualización y control de pedidos realizados.

Diseño y UX

  • Responsive Design: Totalmente adaptado a móviles, tablets y escritorio.
  • UX?UI: Uso de DaisyUI y Tailwind 4 para una interfaz moderna y fluida.
  • Micro-interacciones: Animaciones suaves en transiciones de página y elementos interactivos.

🛠️ Stack Tecnológico

🎨 Frontend

Tecnología Propósito
Vue 3 (Composition API) Framework principal para una interfaz reactiva, modular y escalable.
Pinia Gestión de estado global (autenticación, carrito, productos, favoritos).
Vue Router Sistema de navegación con guardias de seguridad y control de acceso.
Tailwind CSS 4 Framework de estilos utilitarios moderno y altamente personalizable.
DaisyUI Componentes UI consistentes y accesibles basados en Tailwind.
Axios Cliente HTTP para la comunicación con la API REST.
Lucide Vue Set de iconos modernos y minimalistas.
Vue Sonner Sistema de notificaciones (toasts) fluido y desacoplado.

⚙️ Backend

Tecnología Propósito
Node.js + Express API REST robusta y escalable.
MongoDB + Mongoose Base de datos NoSQL con modelado de esquemas y validaciones.
JWT (jsonwebtoken) Autenticación y autorización segura basada en tokens.
bcryptjs Hashing seguro de contraseñas y credenciales sensibles.
Zod Validación estricta de datos de entrada y reglas de negocio.
Helmet Endurecimiento de seguridad mediante headers HTTP.
Express Rate Limit Protección contra abuso de requests y ataques de fuerza bruta.
CORS Control de acceso entre dominios (Frontend ↔ Backend).
Cookie Parser Manejo seguro de cookies HTTP.
Multer Manejo y validación de subida de archivos.
Cloudinary Almacenamiento y gestión segura de imágenes en la nube.
Mercado Pago SDK Integración de pagos y procesamiento de transacciones.
Morgan Logging de requests para monitoreo y debugging.
dotenv / cross-env Gestión de variables de entorno según el entorno de ejecución.

☁️ Infraestructura y Deploy

Tecnología Propósito
Vercel Hosting del frontend con soporte SPA y despliegue continuo.
Render Hosting del backend con gestión de servicios y escalado automático.
MongoDB Atlas Base de datos en la nube con alta disponibilidad.
Cloudinary CDN Distribución optimizada de assets multimedia.

📂 Estructura de Carpetas

src/
├── assets/          # Imágenes, fuentes y estilos globales
├── components/      # Componentes reutilizables organizados por módulos
│   ├── adminPanel/  # Componentes exclusivos de administración
│   ├── cart/        # Lógica y UI del carrito
│   ├── common/      # Componentes transversales (Botones, Inputs)
│   └── ...          # Auth, Blog, Product, Reviews, etc.
├── layouts/         # Envoltorios de estructura (Navbar + Footer)
├── services/        # Configuración de Axios y llamadas a API
├── stores/          # Estados globales de Pinia (auth.js, cart.js, etc.)
├── views/           # Páginas principales de la aplicación
└── router/          # Configuración de rutas y navegación

⚙️ Instalación y Configuración

Sigue estos pasos para ejecutar el proyecto localmente:

  1. Clonar el repositorio:

    git clone https://github.com/Lautaro-R-collins/VintageTone-Front-Vue.git
    cd VintageTone-Front-Vue
  2. Instalar dependencias:

    npm install
  3. Configurar variables de entorno: Crea un archivo .env en la raíz con lo siguiente:

    VITE_API_URL=http://localhost:3000/api
  4. Correr en modo desarrollo:

    npm run dev

📐 Arquitectura

El proyecto sigue una arquitectura basada en módulos y servicios, lo que garantiza escalabilidad y facilidad de mantenimiento:

  • Store-driven Development: Pinia centraliza la lógica de negocio, permitiendo que los componentes se enfoquen únicamente en la presentación.
  • Service Layer: Todas las peticiones al backend están encapsuladas en archivos dentro de src/services, desacoplando la lógica de red de los componentes.
  • Componentes Atómicos: Uso de componentes pequeños y reutilizables en src/components/common.

Desarrollado por

Lautaro Rodriguez Collins - LinkedIn - Portfolio

Proyecto creado para mi Portfolio Profesional.

Mas vistas

Screenshot 2026-01-17 at 17-25-06 Vintage Tone Screenshot 2026-01-17 at 17-25-34 Vintage Tone

About

Plataforma e-commerce con Autenticación Blog y demas funciones, desarrollada con Vue.js para el frontend, Node.js Express para el backend, MongoDB para la base de datos.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages