Ir al artículo
Aniq-UI

E-CommerceEl panel de administración

El panel de administración

Lo que hace la trastienda: productos, categorías, pedidos, clientes, la página de inicio, el personal, los roles y permisos, los ajustes y las notificaciones.

Para el paquete Full Stack

Páginas

Cada página existe en inglés en /en y en árabe en /ar. El panel se abre en /en/dashboard, después del inicio de sesión en /en/auth/login.

Elemento de la barra lateralRutaQué hace
Resumen/en/dashboardLa tienda de un vistazo, con los últimos pedidos. Las tarjetas de ingresos, ventas, objetivo, visitantes, conversión y mapa muestran cifras de ejemplo hasta que las conectes a tus propios datos.
Asistente de IA/en/dashboard/ai-assistantUn chat que responde preguntas sobre la tienda y actúa sobre ella dentro de los permisos del administrador.
Productos/en/dashboard/products/allLa lista de productos, el formulario de producto con el estudio de IA, y los productos eliminados.
Categorías/en/dashboard/categories/allLa lista de categorías y las categorías eliminadas.
Pedidos/en/dashboard/ordersTodos los pedidos, y la página de detalle de cada pedido.
Usuarios/en/dashboard/users/allLos clientes de la tienda, y los eliminados.
Página de inicio/en/dashboard/homepageLo que muestra la página de inicio de la tienda, sección por sección.
Gestión de administradores/en/dashboard/admins-managementCuentas del personal.
Roles de administrador/en/dashboard/admins-rolesLos roles y sus permisos.
Ajustes/en/dashboard/settingsEl perfil y la contraseña del administrador con sesión iniciada, y los ajustes de la aplicación.

La campana de la barra superior contiene las notificaciones, y el enlace "Go to storefront" abre NEXT_PUBLIC_STOREFRONT_URL. Los buscadores nunca indexan el panel: cada página lleva una etiqueta noindex y robots.txt bloquea todas las rutas.

Qué puede hacer cada administrador

  • La API comprueba un permiso en cada ruta de administración, así que un administrador solo puede leer y cambiar lo que permiten sus roles, muestre lo que muestre la pantalla.
  • El panel oculta o desactiva cada botón que su administrador no puede usar, como Add Product sin products.create, y la página AI Assistant muestra "No Access" sin ai_chat.use.
  • Todos los elementos siguen en la barra lateral para todos los administradores. Una página que el administrador no puede leer muestra su estado vacío o de error.
  • Los cambios de permisos llegan al momento a un administrador con sesión iniciada, sin que tenga que cerrar sesión.

Productos

Parte del formularioCampos
DetallesNombre y descripciones corta y larga en inglés y en árabe (el nombre en inglés es obligatorio), slug, SKU (obligatorio), categoría (obligatoria)
Precio y stockPrecio (obligatorio), precio de comparación, precio de coste, cantidad en stock
Archivos multimediaHasta 12 imágenes y videos (MP4, WebM, MOV), en cualquier orden, uno de ellos principal, cada uno con texto alternativo
VariantesTipo y valor de opción (como Size y M, o Colour con su código hexadecimal), SKU, ajuste de precio, stock, activa. Los SKU de las variantes son únicos.
Indicadores y etiquetasActivo, destacado, más vendido y etiquetas libres
  • Un producto con un precio de comparación superior a su precio cuenta como rebajado en los filtros de la tienda.
  • El formulario guarda un borrador por sí solo mientras escribes. Si vuelves a abrir el producto, el panel te ofrece recuperar el borrador; guardar el producto lo elimina.
  • Eliminar mueve un producto a Deleted, donde se puede restaurar. Restaurar necesita el permiso products.restore.
  • Los productos destacados y los más vendidos también se pueden configurar desde sus propias páginas, /en/dashboard/products/featured y /en/dashboard/products/best-sellers, que la barra lateral no enlaza.

Categorías

Una categoría tiene un nombre y una descripción en inglés y en árabe, una imagen, un slug, un orden y un interruptor de activación. Eliminarla la mueve a Deleted, donde se puede restaurar con el permiso categories.restore.

La API guarda una categoría padre para cada categoría y la lista filtra por ella, pero el formulario no configura ninguna categoría padre: las categorías incluidas forman un solo nivel.

Pedidos

La lista busca y filtra por estado del pedido y estado del pago, de más reciente a más antiguo. La página de un pedido muestra sus artículos, totales, cliente, direcciones, nota, cronología y número de seguimiento, y se descarga como archivo CSV.

EstadoSignificado
pendingRealizado. Un pedido con tarjeta se queda aquí hasta que Stripe confirma el pago.
confirmedPagado con tarjeta, o realizado con pago contra reembolso.
processingEn preparación.
shippedEn camino. Añade el número de seguimiento que verá el cliente.
deliveredRecibido. El pedido queda cerrado.
cancelledDetenido. El pedido queda cerrado.

La página del pedido avanza un pedido paso a paso, o lo cancela antes de que se cierre. El estado del pago (sin pagar, pagado, fallido, reembolsado) lo fija el pago, no se cambia a mano. Cambiar un pedido necesita orders.edit.

Clientes

  • La lista Users busca y filtra clientes por nombre, correo, teléfono, país, nombre de usuario, si su correo está verificado, y fechas.
  • Un administrador puede crear un cliente, cambiar su contraseña, marcar su correo como verificado o no verificado, y eliminarlo o restaurarlo.
  • Los clientes editan sus propios datos desde su cuenta en la tienda; el panel no tiene un formulario para editarlos.

La página de inicio de la tienda

Home Page elige los productos y los textos que muestra cada sección de la página de inicio de la tienda. Editar una sección necesita products.edit.

SecciónElementosEn la tienda
CategoríasSolo el ordenLa fila de categorías, en el orden fijado aquí
Pilares de estiloHasta 3Tres puntos destacados de estilo
Bloque editorial divididoHasta 2Un bloque editorial de dos paneles
NovedadesHasta 6Novedades; si está vacía, muestra los productos más recientes
Los más vendidosHasta 8La fila de los más vendidos
DestacadoHasta 6La galería destacada
Carrusel editorialHasta 5El carrusel final

El editor Lux difference no tiene sección en la página de inicio de la tienda incluida, así que lo que configures ahí no se muestra.

Personal, roles y permisos

  • Admin Management muestra el personal y permite crearlo, editarlo y eliminarlo. Assign roles fija qué roles tiene un administrador.
  • Admin Roles crea, renombra y elimina roles. View permissions abre una cuadrícula de casillas, agrupadas por módulo, para conceder cada permiso.
  • Los permisos se llaman <module>.<action>, como products.edit u orders.view, y un administrador tiene todos los permisos de todos sus roles.
  • La pestaña de perfil de Settings guarda mediante admins.edit, así que un administrador de solo lectura no puede cambiar sus propios datos. La pestaña de seguridad, para cambiar la contraseña, no necesita ningún permiso.
Rol de los datos inicialesConcede
Super AdminTodos los permisos
ViewerTodos los permisos que terminan en .view, lo que deja fuera el asistente de IA
Admin, Manager, EditorNada todavía: marca sus permisos en Admin Roles antes de asignarlos al personal

Los datos iniciales dan al Super Admin la cuenta admin@example.com y asignan el rol Viewer a las otras once cuentas del personal.

Ajustes

Settings tiene tres pestañas: Profile, Security y App settings. App settings es una tabla de pares de clave y valor, agrupados por categoría, que un administrador con settings.edit puede cambiar o eliminar.

CategoríaClaves de los datos iniciales
paymentstripe_fees_percentage, stripe_fixed_fee, platform_commission_percentage
withdrawalminimum_withdrawal_amount, maximum_withdrawal_amount, withdrawal_processing_days
emailsupport_email, notification_email
generalsite_name, site_tagline, maintenance_mode
featuresreferral_program_enabled, referral_bonus_percentage

Son valores guardados para que los lea tu propio código. Nada en la tienda ni en la API incluidas los lee todavía, así que cambiar uno, incluido maintenance_mode, no cambia por sí solo ningún comportamiento.

Notificaciones

  • Un pedido nuevo notifica a todos los administradores que pueden ver pedidos, y una generación del estudio de IA terminada o fallida notifica al administrador que la inició.
  • Llegan en directo, con un mensaje breve en pantalla, y se quedan en la lista de la campana hasta que se marcan como leídas o se eliminan.
  • La conexión en directo usa NEXT_PUBLIC_WEBSOCKET_BASE_URL, la dirección de la API sin /api, y la API solo la acepta desde FRONTEND_URL. En tus propios dominios, configura ambas.
  • Con la tienda de ejemplo no hay conexión en directo.

El asistente de IA y el estudio de IA

  • AI Assistant es una página propia en la barra lateral. Sin una clave de Gemini en la API, dice "No AI model is connected".
  • El estudio de IA es el propio formulario de producto, que se abre desde Add Product o desde la fila de un producto. Tiene dos modos, Assistant y Animate, y un botón "Remove background". Sus campos funcionan y se guardan sin ninguna clave; hasta que se configuran sus claves muestra "Listing writer not connected" o "AI studio not connected".

La tienda de ejemplo

Sin NEXT_PUBLIC_API_BASE_URL, el panel responde a todas las solicitudes desde una tienda de ejemplo en el navegador y muestra un aviso "Sample data", que se puede cerrar hasta la siguiente recarga.

  • El formulario de inicio de sesión viene rellenado con admin@example.com y Admin@123. Cualquier correo válido con una contraseña de al menos 6 caracteres inicia sesión como Super Admin.
  • Los cambios son reales: crear un producto, editar una categoría, mover un pedido y conceder un permiso se guardan en el navegador y sobreviven a una recarga.
  • El asistente de IA y las herramientas del estudio de IA no están disponibles, y no hay notificaciones en directo.
  • yarn remove:mock elimina la tienda de ejemplo cuando tu API está conectada, y conserva public/mock-media/.

Modo demostración

Incluido con tu compra. Inicia sesión para leerlo o ábrelo en tu descarga.

Cómo ejecutar una demostración pública: cuentas por visitante, lo que los visitantes pueden cambiar y el uso de su propia clave.

Cómo encaja el código del panel

Incluido con tu compra. Inicia sesión para leerlo o ábrelo en tu descarga.

La estructura del código, y las recetas para añadir una página, una traducción y un servicio de API.

¿Te atascaste en un paso?

Busca una solución antes de empezar de nuevo.

Solución de problemas

Preferencias de Cookies

Utilizamos cookies para mejorar tu experiencia de navegación, analizar el tráfico del sitio y personalizar el contenido. Al hacer clic en "Aceptar Todo", consientes nuestro uso de cookies para análisis y publicidad personalizada.