Skip to main content

💻 Frontend - ProductTrack

Bienvenido a la documentación oficial del Frontend de ProductTrack.
Aquí encontrarás las tecnologías utilizadas, la estructura real del proyecto, y cómo instalar y ejecutar esta parte del sistema.


🧱 Arquitectura

El frontend de ProductTrack está construido con React y TypeScript, organizado en carpetas según su responsabilidad. La estructura es modular, permitiendo separar componentes reutilizables, páginas principales y servicios conectados al backend.

Es una aplicación SPA (Single Page Application) con enfoque responsive y diseñada para tres tipos de usuarios: persona individual, empresa y miembros de equipo.


🚀 Tecnologías utilizadas

  • React.js – Biblioteca para construir la interfaz
  • TypeScript – Tipado estático para mayor mantenibilidad
  • Tailwind CSS – Sistema de estilos rápido y personalizable
  • React Router DOM – Navegación entre vistas
  • Axios – Comunicación con el backend
  • Vite – Herramienta de desarrollo rápida
  • Lucide-react – Íconos modernos y accesibles
  • localStorage – Para guardar y recuperar el token JWT

📁 Estructura del proyecto

📦 frontend/
├── 📁 public/ # Archivos públicos (index.html, imágenes base)
├── 📁 src/ # Código fuente principal
│ ├── 📁 assets/ # Imágenes del frontend (logo, ilustraciones)
│ ├── 📁 components/ # Componentes compartidos (botones, modales, layout, etc.)
│ ├── 📁 context/ # Contextos globales (usuario, notificaciones)
│ ├── 📁 hooks/ # Hooks personalizados (useUser, useToast, etc.)
│ ├── 📁 layout/ # Layout general (Topbar, Sidebar, Layout.tsx)
│ ├── 📁 pages/ # Vistas principales (Login, Registro, Home, NutriScan, Perfil)
│ ├── 📁 services/ # Conexión a endpoints del backend (authService, profileService, etc.)
│ ├── 📁 types/ # Interfaces y tipos de datos
│ ├── 📁 utils/ # Funciones auxiliares
│ ├── 📄 App.tsx # Definición de rutas con React Router
│ └── 📄 main.tsx # Punto de entrada de la app
├── 📄 tailwind.config.js # Configuración de Tailwind CSS
├── 📄 vite.config.ts # Configuración de Vite
├── 📄 tsconfig.json # Configuración de TypeScript
├── 📄 package.json # Scripts y dependencias
└── 📄 README.md # Información inicial del proyecto

📁 ¿Qué contiene cada carpeta?

CarpetaFuncionalidad
public/HTML base (index.html) e íconos para favicon
components/Reutilizables (inputs, botones, menús, etc.)
context/Control de usuario, loading global, toasts
layout/Estructura visual: sidebar, topbar y layout base
pages/Vistas como Login, Registro, Home, NutriScan, Perfil, etc.
services/Axios para comunicarse con el backend
hooks/Hooks personalizados para lógica compartida
types/Interfaces (User, Producto, Perfil, etc.)
utils/Validadores, manejo de fechas, funciones pequeñas
App.tsxRutas principales con <Routes> y <Route> de React Router
main.tsxRenderizado general, router y contextos

⚙️ Instalación y ejecución

# 1. Clona el repositorio
git clone https://github.com/tuusuario/producttrack.git
cd producttrack/frontend

# 2. Instala dependencias
npm install

# 3. Ejecuta la app
npm run dev

📌 Rutas de navegación

No usamos un archivo de rutas centralizado, sino que las rutas se configuran directamente en App.tsx. Estas rutas dependen del tipo de usuario (individual, empresa, equipo) y pueden incluir:

  • /login → Inicio de sesión
  • /register → Registro de usuario
  • /home → Página principal del inventario
  • /nutriscan → Escaneo y análisis nutricional
  • /profile → Perfil del usuario
  • /team → Gestión de equipo empresarial
  • /admin → Panel de administración (solo para administrador)

🛠️ Comandos útiles

npm run dev         # Modo desarrollo
npm run build # Build para producción
npm run preview # Previsualizar el build

🌐 Ver demo en línea

Puedes acceder a la versión desplegada de ProductTrack en Vercel a través del siguiente enlace:

🔗 Abrir ProductTrack en línea

Esta versión refleja el estado más reciente del proyecto y permite explorar sus funcionalidades sin necesidad de instalación local.