承接 nowyouwerkn/wecommerce 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nowyouwerkn/wecommerce

Composer 安装命令:

composer require nowyouwerkn/wecommerce

包简介

WeCommerce is an eCommerce ecosystem designed for everyone to build and scale their business. It offers a wide range of functionalities that allows you to have full control of your store. It is combined with easy product information management and fast response time.

README 文档

README

Forks Stargazers Issues


Logo

WeCommerce

La plataforma autoadministrable de E-commerce de Werken
Lee la documentación »

Reportar Problema · Solicitar Funcionalidad

Indice de Contenido
  1. Acerca del Proyecto
  2. Comenzando
  3. Uso
  • Personalizar
  • Roadmap
  • Contirbuir
  • Licencia
  • Contacto
  • Agradecimientos
  • Acerca del Proyecto

    Product Name Screen Shot

    Tecnologías

    Comenzando

    Pre-requisitos

    Requerimientos mínimos de servidor:

    • 1 CPU (Doble Nucleo)
    • 1GB RAM
    • 25GB SSD
    • 1 TB Transferencia

    Requerimientos recomendados de servidor:

    • 1 CPU (Doble Nucleo)
    • 2GB RAM
    • 25 GB SSD
    • 2 TB Transferencia

    La configuración recomendada es LAMP Stack.

    • Ubuntu - 18.04
    • Apache2 - 2.4.29
    • MySQL server 5.7.23
    • PHP - 7.2
    • Fail2ban - 0.10.2
    • Postfix - 3.3.0
    • Certbot - 0.26.1
    • Phpmyadmin (OPCIONAL)

    Tambien es posible implementar la plataforma en un Stack LEMP

    • Ubuntu - 18.04
    • Nginx - 1.14.0
    • MySQL server 5.7.23
    • PHP - 7.2
    • Fail2ban - 0.10.2
    • Postfix - 3.3.0
    • Certbot - 0.26.1
    • Phpmyadmin (OPCIONAL)

    Las instrucciones de instalación se enfocarán en Apache 2, si se implementa en Nginx hacer modificaciones en donde sea necesario.

    ### Configuración de Servidor

    Instalar Git, Unzip.

    sudo apt-get install git
    sudo apt-get install unzip
    
    

    Instalar CURL + Composer

    sudo apt-get install curl php8.0-curl php8.0-xml php8.0-gd php8.0-opcache php8.0-mbstring php8.0-zip php7.4-curl php7.4-xml php7.4-gd php7.4-opcache php7.4-mbstring php7.4-zip
    
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer
    

    Habilitar Mods

    sudo phpenmod mbstring
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    
    

    Git CLONE del Proyecto en carpeta HTML

    cd /var/www/html
    git clone [RUTA DEL PROYECTO]
    

    Habilitar Rewrite para la carpeta

    sudo chmod -R 777 [NOMBRE_DE_LA_CARPETA]
    
    

    Entrar en carpeta de proyecto

    cd /[NOMBRE_DE_LA_CARPETA]
    

    Actualizar carpeta con COMPOSER

    composer update
    

    Crear una Llave de Encriptación

    cp .env.example .env
    php artisan key:generate
    

    Es importante abrir el archivo .env para configurar la conexión a la base de datos si es que se requiere.

    Configurar Directorio de Proyecto

    /etc/apache2/sites-available/default.com.conf

    <VirtualHost *:80>
    	ServerName [RUTA].com
    	DocumentRoot /var/www/html/[[ NOMBRE_DE_LA_CARPETA ]]/public
    
    	<Directory /var/www/html/[[ NOMBRE_DE_LA_CARPETA ]]/public>
    		AllowOverride All
    		Require all granted
    	</Directory>
    </VirtualHost>
    

    Si es necesario utilizar un certificado de seguridad utilizar el puerto 443 y activar las capacidades SSL del servidor por medio de la linea de comandos. Es importante que el certificado se encuentre en la ruta correcta que se determina en ese documento.

    Reiniciar Servidor

    service apache2 reload
    
    

    Instalación

    Para comenzar a usar este paquete debes usar el siguiente comando para agregarlo a tu instalación de Laravel.

    composer require nowyouwerkn/wecommerce
    

    Es necesario agregar proveedores al proyecto para poder utilizar todas las funciones de las librerias utilizadas por el paquete. Esto se agrega en el archivo config/app.php

    'providers' => [
        // ...
        Nowyouwerkn\WeCommerce\WeCommerceServiceProvider::class,
        Maatwebsite\Excel\ExcelServiceProvider::class,
    ];
    
    'aliases' => [
        // ...
        'Excel' => Maatwebsite\Excel\Facades\Excel::class
    ];
    

    Publica todos los assets del paquete y sus dependencias usando

    php artisan vendor:publish --provider="Nowyouwerkn\WeCommerce\WeCommerceServiceProvider" --force
    

    Para que funcione correctamente el sistema es OBLIGATORIO publicar los archivos de migrations, seeders, theme, public y config. Puedes escoger que elemento quieres publicar con las siguientes etiquetas.

    Etiquetas de elementos publicables:

    • --tag=werkn-bootstrap (Tema principal)
    • --tag=error-views
    • --tag=translations
    • --tag=public
    • --tag=config
    • --tag=seeders

    Recomendamos correr la publicación automáticamente pero puedes seleccionar que es lo que necesitas. Principalmente los temas.

    IMPORTANTE: El sistema utiliza Fortify para Autenticar usuarios asi que es importante publicar tambien los recursos de fortify con el siguiente comando:

    php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider"
    

    Esto creará una carpeta llamada Actions dentro de app. En esta carpeta se encuentran los archivos de autenticación de Fortify. Si no has eliminado o editado tu archivo User dentro de tu carpeta de Modelos no necesitas hacer más, en caso contrario para que funcione con WeCommerce tendrás que editar el archivo CreateNewUser cambiando lo siguiente:

    use App\Models\User;
    
    cambiar por...
    
    use Nowyouwerkn\WeCommerce\Models\User;
    

    Actualiza tu archivo app.php con el proveedor de Fortify Esto se agrega en el archivo config/app.php

        App\Providers\FortifyServiceProvider::class,
    

    Limpia el caché de tu configuración

    php artisan optimize:clear
    #o
    php artisan config:clear
    

    El sistema necesita utilizar la ruta "/" que usa Laravel como vista de ejemplo en las rutas. Accede al documento web.php de tu proyecto de Laravel y sobreescribe la información con el archivo que se encuentra aqui: https://github.com/nowyouwerkn/wecommerce/blob/main/src/routes.php. Al realizarlo podrás usar.

    php artisan serve
    

    para prender tu servidor y acceder a /instalador para comenzar la instalación. Si estás usando Homestead no es necesario usar php artisan serve.

    Si prefieres preparar manualmente el proyecto sigue los siguientes comandos.

    php artisan migrate
    php artisan db:seed
    

    Modificaciones necesarias a Laravel

    1. Cambiar en el archivo RouteServiceProvider la ruta de redirección a:
    public const HOME = '/profile';
    
    1. En tu archivo app.php dentro de la carpeta config sobreescribe la información de zona horaria con lo siguiente:
    'timezone' => 'America/Mexico_City',
    
    1. (OPCIONAL) Si quieres usar las traducciones en español debes sobreescribir tu objeto locale de tu archivo app.php dentro de la carpeta config con lo siguiente. Si publicaste los archivos del paquete correctamente el sistema automáticamente usará la traducción:
    'locale' => 'es',
    

    Uso

    El paquete publica automáticamente las vistas de front que verán los compradores asi como todos los estilos relacionados a su funcionamiento. Puedes editar las vistas de front que se encuentran en resources/views/front/theme/werkn-backbone-bootstrap.

    Estructura:

    • 📂 theme
      • 📂 werkn-backbone-bootstrap
        • 📂 auth
          • login.blade.php
          • register.blade.php
          • forgot-password.blade.php
          • reset-password.blade.php
        • 📂 checkout
          • 📂 utilities
            • _order_address.blade.php
            • _order_address.blade.php
            • _order_contact.blade.php
            • _order_payment.blade.php
            • _order_shipping.blade.php
            • _order_summary.blade.php
          • index.blade.php
        • 📂 layouts
          • 📂 checkout
            • footer.blade.php
            • header.blade.php
            • main.blade.php
          • 📂 partials
            • cookies_notice.blade.php
            • _headerbands.blade.php
            • _messages_errors.blade.php
            • _messages.blade.php
            • _modal_messages.blade.php
            • _modal_popup.blade.php
            • werkn_bar.blade.php
          • 📂 utilities
            • cart_item.blade.php
            • filter_sidebar.blade.php
            • order_card.blade.php
            • product_card.blade.php
          • _filter_sidebar.blade.php
          • footer.blade.php
          • header.blade.php
          • main.blade.php
          • nav-user.blade.php
        • 📂 search
          • element.blade.php
          • index.blade.php
          • query.blade.php
        • 📂 user_profile
          • account.blade.php
          • address.blade.php
          • edit_address.blade.php
          • image.blade.php
          • profile.blade.php
          • shopping.blade.php
          • wishlist.blade.php
        • cart.blade.php
        • catalog.blade.php
        • catalog_filter.blade.php
        • detail.blade.php
        • faqs.blade.php
        • legal.blade.php
        • order_tracking.blade.php
        • purchase_complete.blade.php
        • index.blade.php 🏠

    Eventos de Facebook

    La plataforma esta preparada para recibir eventos de Facebook integrando el código de pixel desde Integraciones del Sistema en la sección de Preferencias Generales de la configuración, asi como la conexión con la API de Conversiones de Facebook.

    Los eventos que el sistema monitorea son:

    • PageView
    • ViewContent
    • Search
    • Purchase
    • InitiateCheckout
    • Contact
    • AddToWishlist
    • AddToCart
    • AddPaymentInfo

    Para activar el evento Contact agrega la clase contact_action a los links que ejecuten una acción de contacto. (mailto, tel, chat, etc.)

    Personalizar

    Para hacer cambios en los estilos puedes modificar libremente el archivo main.blade.php dentro de layouts para modificar o eliminar los archivos originales de la plantilla. Para sobreescribir los preexistentes recomendamos hacer todo dentro de la carpeta css en el archivo w-custom.css

    Si prefieres crear un nuevo tema que no se sobreescriba al actualizar puedes copiar y pegar la carpeta werkn-backbone-bootstrap y ponerle el nombre de tu proyecto. Siguiendo la estructura de la sección anterior el controlador FrontController vinculará automaticamente las vistas a la carpeta dentro de theme. Este cambio de estilo se debe configurar en el panel administrativo en Configuración > Apariencia y dar de alta el nombre de la carpeta.

    Recomendación: Para mantener limpio el proyecto para facilitar su actualización a futuro lo mejor es colocar los estilos básicos de tu nuevo tema dentro de la carpeta public > themes > [NOMBRE DE TU TEMA]. Los estilos particulares los puedes encontrar en la carpeta css.

    Estructura de carpeta theme

    • 📂 themes
      • werkn-backbone-bootstrap
        • [...]
      • [TU PROYECTO]

    Estructura de carpeta css:

    • 📂 css
      • w-custom.css (Estilos particulares globales)
      • w-checkout.css (Para personalizar tu checkout)

    Roadmap

    Revisa los tickets abiertos para una lista estructurada de las funcionalidades propuestas y problemas conocidos en producción.

    Licencia

    MIT License

    Copyright (c) [2024] [Werken Lab S.A de C.V]

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    Contacto

    Werken Lab S.A de C.V - @nowyouwerkn - rca@werken.mx Link de Proyecto: https://github.com/nowyouwerkn/wecommerce

    Agradecimientos

    nowyouwerkn/wecommerce 适用场景与选型建议

    nowyouwerkn/wecommerce 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 623 次下载、GitHub Stars 达 3, 最近一次更新时间为 2021 年 07 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

    它主要适用于以下技术方向: 「ecommerce」 「cart」 「checkout」 「system」 「werken」 「headless-ecommerce」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

    我们在过去多个企业项目中使用过 nowyouwerkn/wecommerce 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

    围绕 nowyouwerkn/wecommerce 我们能提供哪些服务?
    定制开发 / 二次开发

    基于 nowyouwerkn/wecommerce 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

    BUG 修复 & 性能优化

    线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

    项目外包 & 长期维护

    承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

    yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

    统计信息

    • 总下载量: 623
    • 月度下载量: 0
    • 日度下载量: 0
    • 收藏数: 4
    • 点击次数: 12
    • 依赖项目数: 0
    • 推荐数: 0

    GitHub 信息

    • Stars: 3
    • Watchers: 1
    • Forks: 2
    • 开发语言: JavaScript

    其他信息

    • 授权协议: MIT
    • 更新时间: 2021-07-08