2017 © Pedro Peláez
 

library smartcart

"Carrinho de compras com storage"

image

lameck/smartcart

"Carrinho de compras com storage"

  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 150 % Grown

The README.md

PL5-Smartcart-CSFR

Packager Smartcart

SmartCart é um packager criado para o framework laravel 5.5 por Lameck Fernandes. Tem o objetivo de automatizar o desenvolvimento de aplicações que utilizam um carrinho de compras., (*1)

Este packager foi desenvolvido para acelerar o desenvolvimento de lojas virtuais que utilizam um carrinho de compras. Ou seja, neste packager foram desenvolvidos as rotas, tabelas e os controles de uma aplicação convencional. Para exemplificar seu uso foi desenvolvido um protótipo com bootstrap 4 que acompanha o packager. Em resumo, para o seu complemento basta a API de pagamento., (*2)

O cart foi baseado no uso de sessão para controle da lista de pedidos. Esta aplicação, inicialmente, trata-se do modelo server-side. Não foi desenvolvido a API para client-side, o que poderá conter em outra versão. Contudo, caso seja o interesse, a maior parte do projeto já foi desenvolvida o que bastaria retornos em json. O modelo usado para tokens é o nativo CSFR. Para JWT basta mínimas alteraçes com o objetivo é acelerar o desenvolvido. Embora o DER ainda dependa das características que variam a cada projeto, utiliando com este packager o tempo de desenvolvido se reduz customizando o código de acordo com suas necessidades., (*3)

As tabelas foram criadas de acordo com o que é mais comum em cadastros de produtos como: o controle de estoque (inventário); categoria; marca; fornecedor; e propriamente o produto., (*4)

Este packager contém:, (*5)


, (*6)

Publishables

Migrations

Ordem de migração. Notei que entre o sistema Linux e windows, a ordem se faz necessária. Alguns possíveis erros, que varia com o sistema e banco que esta usando, poderia ser que a forekey não pode ser nula. Devido a relação de composição entre as tabelas, category, brand, address e status não migram forekeys mas elas exportam. As tabelas que migram são: provider de status e address; product de provider; e inventory de product. Não ouve problemas para sistemas linux, especificamente Ubuntu 16 LTS rodando phpmyadmin com mysql. Porém no windows, com wampserver apresentou estes problemas os quais foram corrigidos alterando a ordem das tabelas. Isso, se for realmente usar php artisan migrate --force., (*7)

  • 2018_03_26_225025_create_category
  • 2018_03_26_230229_create_brand
  • 2018_03_26_234958_create_address
  • 2018_03_27_000540_create_status
  • 2018_03_27_032617_create_provider
  • 2018_03_27_032618_create_product
  • 2018_03_27_032619_create_inventory

  • , (*8)

    Seeders

    Opcional. Para uso do exemplo de aplicação do smartcart, (*9)

  • smcAddressTableSeeder
  • smcBrandTableSeeder
  • smcCategoryTableSeeder
  • smcInventoryTableSeeder
  • smcProductTableSeeder
  • smcProviderTableSeeder
  • smcStatusTableSeeder

  • , (*10)

    Resources

    views

      Layouts

      Patas onde contém dos templates da aplicação, (*11)

    • app: Template utilizado nas páginas do exemplo de aplicação
      Partials

      Parte integrante do template usado nos includes do blade, (*12)

    • header: Cabeçalho do layout
      Shop

      Contem as páginas do cart, (*13)

    • cart: Página de resumo de compras
    • checkout: Página de efetuação de pagamento
    • index: Página de lista dos produtos
      User
    • profile Página onde conteria as ordens de compra e demais relações ao usuário
    • signin: Página de login no sistema para uso do smartcart
    • signup: Página de cadastro no sistema
  • home: Página de apresentação do smartcart

  • , (*14)

    SRC

    Http

      Controllers
    • AccountController: Responsável pelo gerenciamento de usuarios do sistema
    • ShopController: Reponsável pelo controle das funcionalidades do smartcart
      Middleware
    • Authenticate: Responsável por limitar acesso às compras no sistema

      Models
    • Product: Camada que intermedia o banco de dados e a view do sistema

      Rotes
    • api: Lista de roteamento dos controles do sistema

      Provider
    • SmartCartServiceProvider: Provider da aplicação, a assinatura no laravel


    Assinatura: Packagerlist, (*15)


    INSTALAÇÃO

    Por enquanto esta disponível a versão de desenvolvimento. composer require lameck/smartcart:@dev, (*16)


    PROVIDER: app/config/app.php

    ...
    Lameck\Smartcart\SmartcartServiceProvider::class,, (*17)


    KERNEL: app/http/kernel.php

    Adicione em routemiddlware:
    'smcAuth' => 'Lameck\Smartcart\Http\Middleware\Authenticate',, (*18)


    PUBLISH

    php artisan vendor:publish --provider="Lameck\Smartcart\SmartcartServiceProvider", (*19)


    Até neste ponto toda configuração necessária esta definida. Caso deseje ver um exemplo prossiga com os seeders, (*20)


    EXEMPLO

    Crie um banco de dados e configure o arquivo nativo .env, (*21)

    Crie as tabelas no banco: php artisan migrate --force, (*22)

    Adicione ao arquivo DatabaseSeeder, (*23)

        //$this->call(UsersTableSeeder::class);
        $this->call(smcCategoryTableSeeder::class);
        $this->call(smcBrandTableSeeder::class);
        $this->call(smcAddressTableSeeder::class);
        $this->call(smcStatusTableSeeder::class);        
        $this->call(smcProviderTableSeeder::class);
        $this->call(smcProductTableSeeder::class);
        $this->call(smcInventoryTableSeeder::class);
    

    Se não digitar este comando, as tabelas poderão não ser populadas: composer dump-autoload. Um possível erro seria algo como "a tabela smcCategoryTableSeeder não foi encontrada", (*24)

    Popule as tabelas: php artisan db:seed, (*25)

    Rode o servidorphp artisan serve, (*26)

    Para acessar as rotas basta php artisan rout:list. O protóripo se encontra na localhot:8000/smc, (*27)

    Possivel erro ao acessar a página SHOP, (*28)

    Access denied for user 'homestead'@'localhost' (using password: YES)
    

    Pare o servidor. Limpe o cache: php artisan cache:clear Reinicie php artisan serve, (*29)


    Domínio
    , (*30)


    Home

    , (*31)

    SHOP
    , (*32)


    Criando conta, (*33)

    Por utilizar sessão como meio de gerenciamento do cart, é necessário logar no sistema., (*34)


    , (*35)


    Após Login, add pedidos
    , (*36)


    Carrinho, (*37)

    , (*38)


    , (*39)


    Carrinho, (*40)

    Adicione mais pedidos, exclua algum item ou apague todos os itens., (*41)


    , (*42)


    Checkout, (*43)

    Basta inserir a API de pagamento, (*44)


    , (*45)


    Próximos plugins adiciono o pagamento com diversos places dentro e fora do Brasil., (*46)

    The Versions

    20/06 2018

    dev-master

    9999999-dev https://github.com/EuFreela/PL5-SmartCart

    "Carrinho de compras com storage"

      Sources   Download

    MIT

    The Requires

    • php ^5.5.9 || ^7.0

     

    laravel auth storage cart smartcart