Saleor Store
우리 컬렉션을 쇼핑하세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Menu digital responsive inspirado en BioMenus, preparado para trabajar por cuenta.README 전문 보기 ↗
Menu digital responsive inspirado en BioMenus, preparado para trabajar por cuenta.
GET /api/accounts/:accountId/menuPOST /api/accounts/:accountId/orders?account=totta, ?account=bruder, ?account=sandras-rose/totta y /brudermock, supabase y sqltemplate, theme, layout, hero, branding y estilo de cardsvideo_url para vista previa/admin para crear cuentas y editar presentacion/video sin SQLnpm install
npm run dev
Esto levanta:
http://127.0.0.1:8787http://127.0.0.1:5173/?account=sandras-rosehttp://127.0.0.1:5173/?account=capta-demohttp://127.0.0.1:5173/?account=tottahttp://127.0.0.1:5173/?account=bruderModo actual recomendado:
.env.example a .envCAPTA_DATA_PROVIDER=supabaseCAPTA_SUPABASE_URLCAPTA_SUPABASE_API_KEY con una key de backend de solo lectura para la APICAPTA_ADMIN_TOKEN para habilitar el panel internoCAPTA_SUPABASE_STORAGE_BUCKET=menu-videos para uploads de previewCAPTA_SUPABASE_STORAGE_API_KEY con una key de backend para StorageCAPTA_SUPABASE_WRITE_API_KEY con una key de backend con permisos de escrituraEl backend lee:
restaurants para resolver la cuenta por slugproducts para traer los productos activos de ese restauranteAgrupa automaticamente por category.
Para pedidos reales, el backend escribe en:
clientespedidositems_pedidocustomer_loyalty_accountscustomer_loyalty_transactionsAsi el pedido aparece en el dashboard de capta y queda historial por cliente usando phone.
El sistema de puntos queda preparado para que la configuracion y administracion se haga desde el dashboard principal de capta, no desde /admin de esta app.
Tablas nuevas:
restaurant_loyalty_settingsrestaurant_loyalty_rewardscustomer_loyalty_accountscustomer_loyalty_transactionsReglas principales:
restaurant_loyalty_settings.enabledrestaurant_id + phonerestaurant_loyalty_rewardsGET /api/accounts/:accountId/loyalty?phone=...Calculo de puntos:
spend_amount_step: cada cuanto dinero gastado se acreditapoints_per_step: cuantos puntos suma ese bloqueminimum_order_total: compra minima para empezar a sumarEjemplo:
spend_amount_step = 1000points_per_step = 1Entonces una compra de $3.500 suma 3 puntos.
Nueva migracion:
Esta app no administra puntos desde /admin; el dashboard de capta debe crear y editar filas en esas tablas.
La API ahora devuelve:
categories: contenido del menupresentation: configuracion visual por cuentaLa presentacion soporta:
template: editorial, bistro, luxelayout: editorial, bistro, luxebranding.wordmarkbranding.subtitlethemehero.imagehero.titlehero.accenthero.descriptioncards.stylepreview.productMediapreview.autoplayVideospreview.mutedVideosEsto permite que cada restaurante tenga una identidad distinta sin duplicar el frontend.
Ahora template define la estructura del menu y theme define el look.
/adminRutas:
http://127.0.0.1:5173/adminhttps://menu-five-red.vercel.app/adminRequiere enviar un token en el header x-admin-token o Authorization: Bearer ....
La UI ya lo hace automaticamente cuando completas el campo Token admin.
Endpoints disponibles:
GET /api/admin/accountsPOST /api/admin/accountsDELETE /api/admin/accounts/:accountIdGET /api/admin/accounts/:accountId/editorPATCH /api/admin/accounts/:accountId/presentationPATCH /api/admin/products/:productId/mediaPOST /api/admin/products/:productId/image-uploadPOST /api/admin/products/:productId/video-uploadCon eso ya puedes:
restaurantsslug una cuenta ya existente de capta sin duplicarlalayout, theme, branding, hero y previewimage_url y video_url por productoBucket recomendado:
menu-videosRequisitos:
.mp4CAPTA_SUPABASE_STORAGE_API_KEY para que el upload salga desde backend y no abrir permisos publicos de escrituraVariables:
CAPTA_SUPABASE_STORAGE_BUCKET=menu-videosCAPTA_SUPABASE_STORAGE_API_KEY=...Flujo en /admin:
Fotos y videos por productoSubir a Storageimage_url o video_url en productsRuta interna usada:
POST /api/admin/products/:productId/video-uploadSe agrego una migracion lista para aplicar:
La migracion crea:
restaurant_menu_presentationsproducts.video_url si todavia no existeSeeds incluidos:
restaurant_menu_presentationsCampos principales:
restaurant_idlayouttheme_idtheme_overrides (jsonb)branding_wordmarkbranding_subtitlehero_image_urlhero_titlehero_accenthero_descriptioncards_stylepreview_modeautoplay_videosmuted_videosproducts.video_urlSi un producto tiene video_url, el frontend ya puede:
video-firstNota:
totta, bruder y sandras-rose ya quedaron cargados en la base real con presentacion propiaQuedaron tres presets listos para usar como base:
premium clarobistro calidonocturno eleganteHoy se resuelven desde:
Y se mezclan con overrides de base desde:
Si en Vercel ves un error como:
Unexpected token '<'is not valid JSONsignifica que estaba publicado solo el frontend y no habia endpoint /api/....
Este repo ahora ya incluye funciones serverless en:
api/health.jsapi/accounts/[accountId]/menu.jsEn Vercel solo necesitas cargar estas variables de entorno y redeploy:
CAPTA_DATA_PROVIDER=supabaseCAPTA_SUPABASE_URL=https://eqnjyygokjinmsfvogxi.supabase.coCAPTA_SUPABASE_API_KEY=...CAPTA_ADMIN_TOKEN=...Alternativa:
CAPTA_DATA_PROVIDER=sql si en el futuro quieres leer directo desde Postgres/MySQL sin pasar por Supabase RESTEl adaptador SQL espera este modelo base:
accounts: id, slug, name, currency, localemenu_categories: id, account_id, slug, name, sort_ordermenu_products: id, account_id, category_id, name, description, price, price_display, image_url, video_url, badge, dietary_tags, is_active, sort_orderLa conexion real a la base de capta queda preparada, pero para enchufarla de verdad todavia hace falta confirmar: