PHPackages                             lameck/smartcart - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. lameck/smartcart

ActiveLibrary

lameck/smartcart
================

"Carrinho de compras com storage"

013PHP

Since Jun 20Pushed 7y agoCompare

[ Source](https://github.com/EuFreela/PL5-Smartcart-CSFR)[ Packagist](https://packagist.org/packages/lameck/smartcart)[ RSS](/packages/lameck-smartcart/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

PL5-Smartcart-CSFR
==================

[](#pl5-smartcart-csfr)

#### Packager Smartcart

[](#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.

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.

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.

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.

Este packager contém:

**Publishables**
----------------

[](#publishables)

### *Migrations*

[](#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**.

11. 2018\_03\_26\_225025\_create\_category
12. 2018\_03\_26\_230229\_create\_brand
13. 2018\_03\_26\_234958\_create\_address
14. 2018\_03\_27\_000540\_create\_status
15. 2018\_03\_27\_032617\_create\_provider
16. 2018\_03\_27\_032618\_create\_product
17. 2018\_03\_27\_032619\_create\_inventory

### *Seeders*

[](#seeders)

Opcional. Para uso do exemplo de aplicação do smartcart

20. smcAddressTableSeeder
21. smcBrandTableSeeder
22. smcCategoryTableSeeder
23. smcInventoryTableSeeder
24. smcProductTableSeeder
25. smcProviderTableSeeder
26. smcStatusTableSeeder

**Resources**
-------------

[](#resources)

### *views*

[](#views)

Layouts Patas onde contém dos templates da aplicação

- **app:** Template utilizado nas páginas do exemplo de aplicação

Partials Parte integrante do template usado nos includes do blade

- **header:** Cabeçalho do layout

Shop Contem as páginas do cart

- **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

33. **home:** Página de apresentação do smartcart

**SRC**
-------

[](#src)

### *Http*

[](#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](https://packagist.org/packages/lameck/smartcart)

---

#### INSTALAÇÃO

[](#instalação)

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

---

##### PROVIDER: app/config/app.php

[](#provider-appconfigappphp)

...
Lameck\\Smartcart\\SmartcartServiceProvider::class,

---

#### KERNEL: app/http/kernel.php

[](#kernel-apphttpkernelphp)

Adicione em routemiddlware:
**'smcAuth' =&gt; 'Lameck\\Smartcart\\Http\\Middleware\\Authenticate',**

---

#### PUBLISH

[](#publish)

**php artisan vendor:publish --provider="Lameck\\Smartcart\\SmartcartServiceProvider"**

---

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

---

### EXEMPLO

[](#exemplo)

Crie um banco de dados e configure o arquivo nativo **.env**

Crie as tabelas no banco: **php artisan migrate --force**

Adicione ao arquivo **DatabaseSeeder**

> ```
>     //$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"

Popule as tabelas: **php artisan db:seed**

Rode o servidor**php artisan serve**

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

**Possivel erro ao acessar a página SHOP**

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

**Pare o servidor. Limpe o cache: php artisan cache:clear** Reinicie **php artisan serve**

---

**Domínio**
[![](https://camo.githubusercontent.com/036315a6fbee2b55596b8e7d01fd6e40cb380e7eb2348d1926cb25775fedd8d9/68747470733a2f2f7331382e706f7374696d672e63632f6c33746b77737a68352f446f6d696e696f2e6a7067)](https://camo.githubusercontent.com/036315a6fbee2b55596b8e7d01fd6e40cb380e7eb2348d1926cb25775fedd8d9/68747470733a2f2f7331382e706f7374696d672e63632f6c33746b77737a68352f446f6d696e696f2e6a7067)

---

**Home**
[![](https://camo.githubusercontent.com/6710621860f4ddc8ed0538306e41ad90ffbed0892a764c851b573945f2fd7fde/68747470733a2f2f7331382e706f7374696d672e63632f3933383477326b63702f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d32322d31342e706e67)](https://camo.githubusercontent.com/6710621860f4ddc8ed0538306e41ad90ffbed0892a764c851b573945f2fd7fde/68747470733a2f2f7331382e706f7374696d672e63632f3933383477326b63702f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d32322d31342e706e67)

**SHOP**
[![](https://camo.githubusercontent.com/6ebd1b29b8c8357e3cf40d6171a5979ee81cc0a99041fad78da70860fdf3deca/68747470733a2f2f7331382e706f7374696d672e63632f6136733937736b63702f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d33362d35352e706e67)](https://camo.githubusercontent.com/6ebd1b29b8c8357e3cf40d6171a5979ee81cc0a99041fad78da70860fdf3deca/68747470733a2f2f7331382e706f7374696d672e63632f6136733937736b63702f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d33362d35352e706e67)

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

[![](https://camo.githubusercontent.com/1157804bb64a355be740eaa5f0f87213b3a41c3b9b8cdf65432e5c2e2e0b938e/68747470733a2f2f7331382e706f7374696d672e63632f6778387168396133642f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d33382d33322e706e67)](https://camo.githubusercontent.com/1157804bb64a355be740eaa5f0f87213b3a41c3b9b8cdf65432e5c2e2e0b938e/68747470733a2f2f7331382e706f7374696d672e63632f6778387168396133642f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d33382d33322e706e67)

**Após Login, add pedidos**
[![](https://camo.githubusercontent.com/c1f237b59823fbefb3341681ddaef9172b5dcb956b97294846e6816feb227b36/68747470733a2f2f7331382e706f7374696d672e63632f64716536786e6b69682f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34302d30382e706e67)](https://camo.githubusercontent.com/c1f237b59823fbefb3341681ddaef9172b5dcb956b97294846e6816feb227b36/68747470733a2f2f7331382e706f7374696d672e63632f64716536786e6b69682f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34302d30382e706e67)

**Carrinho**
[![](https://camo.githubusercontent.com/92e7b4e8fab7a710daf670a39635f093cde7801956fca0b6ca48bed8adc0151e/68747470733a2f2f7331382e706f7374696d672e63632f37637033756661686c2f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34312d30362e706e67)](https://camo.githubusercontent.com/92e7b4e8fab7a710daf670a39635f093cde7801956fca0b6ca48bed8adc0151e/68747470733a2f2f7331382e706f7374696d672e63632f37637033756661686c2f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34312d30362e706e67)

**Carrinho**Adicione mais pedidos, exclua algum item ou apague todos os itens.

[![](https://camo.githubusercontent.com/92e7b4e8fab7a710daf670a39635f093cde7801956fca0b6ca48bed8adc0151e/68747470733a2f2f7331382e706f7374696d672e63632f37637033756661686c2f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34312d30362e706e67)](https://camo.githubusercontent.com/92e7b4e8fab7a710daf670a39635f093cde7801956fca0b6ca48bed8adc0151e/68747470733a2f2f7331382e706f7374696d672e63632f37637033756661686c2f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34312d30362e706e67)

**Checkout**Basta inserir a API de pagamento

[![](https://camo.githubusercontent.com/194db597807529c6ba57f5487a7b0940763ba35b06171fc277355cfafabe500e/68747470733a2f2f7331382e706f7374696d672e63632f7735796e7634796e742f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34332d30322e706e67)](https://camo.githubusercontent.com/194db597807529c6ba57f5487a7b0940763ba35b06171fc277355cfafabe500e/68747470733a2f2f7331382e706f7374696d672e63632f7735796e7634796e742f436170747572615f64655f74656c615f64655f323031382d30332d32385f32312d34332d30322e706e67)

---

Próximos plugins adiciono o pagamento com diversos places dentro e fora do Brasil.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/8e6c2168719a3bab61702b2a04b724f5729fc0348cbbf2364337d3a03fd72820?d=identicon)[Lameck Fernandes](/maintainers/Lameck%20Fernandes)

---

Top Contributors

[![EuFreela](https://avatars.githubusercontent.com/u/32210677?v=4)](https://github.com/EuFreela "EuFreela (36 commits)")

### Embed Badge

![Health badge](/badges/lameck-smartcart/health.svg)

```
[![Health](https://phpackages.com/badges/lameck-smartcart/health.svg)](https://phpackages.com/packages/lameck-smartcart)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
