PHPackages                             gp247/s-cart - 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. [Framework](/categories/framework)
4. /
5. gp247/s-cart

ActiveProject[Framework](/categories/framework)

gp247/s-cart
============

Free Laravel e-commerce for business: shopping cart, cms content, and more...

2.0.2(3w ago)111653MITBladePHP ^8.3

Since Aug 22Pushed 2w agoCompare

[ Source](https://github.com/gp247net/s-cart)[ Packagist](https://packagist.org/packages/gp247/s-cart)[ Docs](https://gp247.net)[ Fund](https://gp247.net)[ GitHub Sponsors](https://github.com/gp247net)[ RSS](/packages/gp247-s-cart/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (6)Dependencies (52)Versions (7)Used By (0)

```
  _____  _____     ___  _  _   _____
 / ____|  __ \   |__ \| || | |___  |
| |  __| |__) |     ) | || |_   / /
| | |_ |  ___/     / /|__   _| / /
| |__| | |        / /_   | |  / /
 \_____|_|       |____|  |_| /_/

```

> 🌐 **Language:** 🇬🇧 English (current) · [🇻🇳 Tiếng Việt](README_vi.md)

S-Cart is a free e-commerce website project for businesses

> **composer create-project gp247/s-cart**

[Homepage](https://gp247.net) | [Demo](https://demo.s-cart.org) | [GP247 documentation](https://github.com/gp247net/gp247-docs) | [GP247 agent skills](https://github.com/gp247net/gp247-skills) | [FB Group](https://www.facebook.com/groups/scart.opensource)

[![Packagist Downloads](https://camo.githubusercontent.com/c8df75e749a6ae5a8f9599ebf6a19e8624dd24fc2c4cce0dd797b891377916fc/68747470733a2f2f706f7365722e707567782e6f72672f67703234372f732d636172742f642f746f74616c)](https://packagist.org/packages/gp247/s-cart)[![Latest Stable Version](https://camo.githubusercontent.com/57299b87171ae3dc3b6fc0261f90a5337a5c700ea1d00750ae4445224b9a4f57/68747470733a2f2f706f7365722e707567782e6f72672f67703234372f732d636172742f762f737461626c652e737667)](https://github.com/gp247net/s-cart/releases)[![License](https://camo.githubusercontent.com/181d16e7561d82ece03279a12f21f4ef38a9ec9dfe07623bbd4ef3de05b1ac9d/68747470733a2f2f706f7365722e707567782e6f72672f67703234372f732d636172742f6c6963656e7365)](https://github.com/gp247net/s-cart/blob/master/LICENSE)[![Ask DeepWiki](https://camo.githubusercontent.com/0f5ae213ac378635adeb5d7f13cef055ad2f7d9a47b36de7b1c67dbe09f609ca/68747470733a2f2f6465657077696b692e636f6d2f62616467652e737667)](https://deepwiki.com/gp247net/s-cart)

1. Overview
===========

[](#1-overview)

S-Cart is the best free e-commerce website project for individuals and businesses, built on the GP247 ecosystem (the Laravel Framework) and the latest technologies.

Our mission is "Effective and friendly for everyone":

- Effective: meets even the smallest customer requirements.
- Friendly: easy to use, easy to maintain, easy to extend.
- Everyone: businesses, individuals, developers, students.
- AI-agent-friendly: a clear structure and standardized docs/skills so AI agents can understand the project and assist development.

**S-Cart 2.x:**

> Backed by the GP247 ecosystem
>
> Core Laravel framework 13.x
>
> UI built with Tailwind CSS 4

Screenshots
-----------

[](#screenshots)

[![S-Cart screenshot 1](https://camo.githubusercontent.com/b32a3a17ed8bdb1e83d6ae31ad40e9236a8ff495b887a583e29ce51296ef2d48/68747470733a2f2f7374617469632e67703234372e6e65742f706167652f73632d312e6a7067)](https://camo.githubusercontent.com/b32a3a17ed8bdb1e83d6ae31ad40e9236a8ff495b887a583e29ce51296ef2d48/68747470733a2f2f7374617469632e67703234372e6e65742f706167652f73632d312e6a7067)

[![S-Cart screenshot 2](https://camo.githubusercontent.com/084f5286362a9d2d8800e75437dbcd07676f68c804bf0dbac90b049ddfe303f9/68747470733a2f2f7374617469632e67703234372e6e65742f706167652f73632d322e6a7067)](https://camo.githubusercontent.com/084f5286362a9d2d8800e75437dbcd07676f68c804bf0dbac90b049ddfe303f9/68747470733a2f2f7374617469632e67703234372e6e65742f706167652f73632d322e6a7067)

S-Cart features
---------------

[](#s-cart-features)

#### Core capabilities

[](#core-capabilities)

- Plugin packages built on the HMVC pattern
- Command-line upgrades and patches for S-Cart
- Full documentation for developers and customers

#### Professional storefront features

[](#professional-storefront-features)

- **Multi-language**
- **Multi-currency**
- **Full e-commerce feature set:**
    - Shopping cart management
    - Order management
    - Product management
    - Customer management
- **CMS content management**:
    - Categories
    - News
    - Content pages
- **Extensions**:
    - Payment plugins
    - Shipping methods
    - Discount system
    - Tax calculation
- **Professional plugins for S-Cart**:
    - Multi-vendor:
    - Multi-store:
- **Developer resources**:
    - Online marketplace for plugins and templates
    - Secured API support for apps and mobile integrations

#### Powerful administration

[](#powerful-administration)

- **User management**:
    - Role-based permissions (admin, manager, marketing, etc.)
    - Comprehensive security with full audit logging
    - Access control, authentication, and CAPTCHA
- **Business tools**:
    - Product management
    - Order processing
    - Customer management
    - Analytics and reporting
    - Activity tracking

Folder structure for a GP247-based website
------------------------------------------

[](#folder-structure-for-a-gp247-based-website)

```
Website-folder/
|
├── app
│     └── GP247
│           ├── Core(+) //Override Core controllers
│           ├── Helpers(+) //Auto-loads Helpers/*.php into the system
│           ├── Front(+) //Override GP247/Front controllers
│           ├── Shop(+) //Override GP247/Shop controllers
│           ├── Plugins(+) //Generated by `php artisan gp247:make-plugin --name=NameOfPlugin`
│           └── Templates(+) //Generated by `php artisan gp247:make-template --name=NameOfTempate`
├── public
│     └── GP247
│           ├── Core(+)
│           ├── Plugins(+)
│           └── Templates(+)
├── resources
│            └── views/vendor
│                           ├── gp247-admin(+) //Core view overrides
│                           ├── gp247-shop-admin(+) //Shop view overrides
│                           └── gp247-front-admin(+) //Front view overrides
├── vendor
│     ├── gp247/core
│     ├── gp247/front
│     └── gp247/shop
└──...

```

---

2. Quick installation guide
===========================

[](#2-quick-installation-guide)

Method 1: Install with Composer (recommended)
---------------------------------------------

[](#method-1-install-with-composer-recommended)

**1. Create the project**

```
composer create-project gp247/s-cart
```

**2. Check your `.env` configuration**

Make sure the database settings are correct. If `APP_KEY` is not set yet, generate it with:

```
php artisan key:generate
```

**3. Install S-Cart**

```
php artisan sc:install
```

**4. Install sample data (optional)**

```
php artisan sc:sample
```

Method 2: Install with Git Clone
--------------------------------

[](#method-2-install-with-git-clone)

**1. Clone the repository**

```
git clone https://github.com/gp247net/s-cart.git
cd s-cart
```

**2. Create `.env` and install dependencies**

```
cp .env.example .env
php artisan key:generate
composer install
```

**3. Configure the database in `.env`**

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
```

**4. Install S-Cart**

```
php artisan sc:install
php artisan sc:sample   # optional, sample data
```

Method 3: Install with Docker (supported from S-Cart 2)
-------------------------------------------------------

[](#method-3-install-with-docker-supported-from-s-cart-2)

No need to install PHP/Composer/MySQL on your machine — Docker is all you need. There are **two clearly separate** compose files for dev and prod — always use the right one for the environment:

- `docker-compose.yml` — **dev** environment (your local machine)
- `docker-compose.prod.yml` — **prod** environment (your server)

**DEV setup:**

```
git clone https://github.com/gp247net/s-cart.git
cd s-cart
cp .env.example .env
docker compose up -d --build
docker compose exec app php artisan key:generate
docker compose exec app php artisan sc:install
docker compose exec app php artisan sc:sample   # optional
```

Open the site:

**PROD setup:**

```
git clone https://github.com/gp247net/s-cart.git
cd s-cart
cp .env.example .env
# Configure .env for prod: APP_ENV, DB_*, SC_DOCKER_WWWUSER/SC_DOCKER_WWWGROUP — see DOCKER.md
docker compose -f docker-compose.prod.yml up -d --build
docker compose -f docker-compose.prod.yml exec app php artisan key:generate
docker compose -f docker-compose.prod.yml exec app php artisan sc:install
docker compose -f docker-compose.prod.yml exec app php artisan sc:sample   # optional
docker compose -f docker-compose.prod.yml run --rm node                    # build CSS/JS assets
```

⚠️ Always include `-f docker-compose.prod.yml` on prod — forgetting it accidentally applies the dev config (debug mode on, runs as root, installs Xdebug...). See the Q&amp;A in [DOCKER.md](DOCKER.md) for that failure mode in detail.

For the full step-by-step guide and a detailed troubleshooting Q&amp;A covering both dev and prod, see [DOCKER.md](DOCKER.md).

Important note on folder permissions
------------------------------------

[](#important-note-on-folder-permissions)

If you installed with Method 1 or 2 (no Docker), make sure the following folders are writable, otherwise installation and various features won't work correctly:

- `app/GP247`
- `public/GP247`
- `public/vendor`
- `resources/views/vendor`
- `storage`
- `vendor`

---

3. Q&amp;A
==========

[](#3-qa)

### Q: How do I check the installed S-Cart version?

[](#q-how-do-i-check-the-installed-s-cart-version)

*(Only available when S-Cart is installed directly, not via the component-by-component method)*

```
php artisan sc:info
```

### Q: How do I update S-Cart?

[](#q-how-do-i-update-s-cart)

Update each package with Composer:

```
composer update gp247/core
composer update gp247/front
composer update gp247/shop
```

Then run (only available when S-Cart is installed directly):

```
php artisan sc:update
```

**Optional — refresh published assets/views to the latest version.**`composer update` and `sc:update` only refresh the code under `vendor/`; the files already copied to `public/GP247` and `app/GP247` are **not** overwritten automatically. If a new release ships updated compiled CSS/JS or default template/views and you want them on your site, re-publish with `--force`:

```
php artisan vendor:publish --tag=gp247:core-public --force    # -> public/GP247 (admin build: CSS/JS, ...)
php artisan vendor:publish --tag=gp247:front-public --force   # -> public/GP247/Templates/GP247Front (storefront CSS/JS)
php artisan vendor:publish --tag=gp247:front-view --force     # -> app/GP247/Templates/GP247Front (default template views)
```

> ⚠️ `--force` **overwrites** the destination files — including any local customizations you made there (custom logo/images, edited template Blade files, etc.). **Back up `public/GP247` and `app/GP247` first**, and publish only the tag you actually need.

### Q: How do I create a new plugin?

[](#q-how-do-i-create-a-new-plugin)

```
php artisan gp247:make-plugin --name=PluginName
```

Also generate a zip file for distribution:

```
php artisan gp247:make-plugin --name=PluginName --download=1
```

### Q: How do I create a new template?

[](#q-how-do-i-create-a-new-template)

```
php artisan gp247:make-template --name=TemplateName
```

Also generate a zip file for distribution:

```
php artisan gp247:make-template --name=TemplateName --download=1
```

### Q: How do I customize the upload (lfm) configuration?

[](#q-how-do-i-customize-the-upload-lfm-configuration)

```
php artisan vendor:publish --tag=config-lfm
```

### Q: How do I customize the admin UI?

[](#q-how-do-i-customize-the-admin-ui)

Each package publishes its admin views into its own `views/vendor/`folder — publish only the tag you actually need to override:

```
php artisan vendor:publish --tag=gp247:core-view        # -> views/vendor/gp247-admin
php artisan vendor:publish --tag=gp247:front-admin      # -> views/vendor/gp247-front-admin
php artisan vendor:publish --tag=gp247:shop-view-admin  # -> views/vendor/gp247-shop-admin
```

Add `--force` if you need to overwrite files already published there.

### Q: How do I customize the default template?

[](#q-how-do-i-customize-the-default-template)

```
php artisan vendor:publish --tag=gp247:front-view       # -> app/GP247/Templates/GP247Front
php artisan vendor:publish --tag=gp247:front-public     # -> public/GP247/Templates/GP247Front
php artisan vendor:publish --tag=gp247:shop-view-front  # -> app/GP247/Templates/GP247Front
```

Add `--force` if you need to overwrite files already published there.

### Q: How do I override the `gp247_*` helper functions?

[](#q-how-do-i-override-the-gp247_-helper-functions)

1. Add the list of functions you want to override to `config/gp247_functions_except.php`
2. Create new PHP files containing the new functions in `app/GP247/Helpers`, e.g. `app/GP247/Helpers/myfunction.php`

### Q: How do I override controllers in GP247/Core, GP247/Front, or GP247/Shop?

[](#q-how-do-i-override-controllers-in-gp247core-gp247front-or-gp247shop)

S-Cart lets you override **any** controller (including API controllers) in `GP247/Core`, `GP247/Front`, and `GP247/Shop` using the same mechanism: create the corresponding controller in `app/GP247/{Core|Front|Shop}`, **extend the original controller**, and prepend `App` to the original namespace.

Example, overriding a Core controller:

1. Create the matching file under `app/GP247/Core/Controllers/...` (keep the same sub-path and filename as in the original package).
2. Make the new controller `extend` the original controller from `vendor/gp247/core/...`.
3. Change the namespace from `GP247\Core\Controllers` to `App\GP247\Core\Controllers` (just prepend `App`, keep the rest as-is).

The same pattern applies to `GP247\Front\*` and `GP247\Shop\*` (becoming `App\GP247\Front\*` and `App\GP247\Shop\*`) and to API controllers (`GP247\Core\Api\Controllers` becomes `App\GP247\Core\Api\Controllers`).

### Q: How do I add new routes for the admin area?

[](#q-how-do-i-add-new-routes-for-the-admin-area)

Use the `GP247_ADMIN_PREFIX` and `GP247_ADMIN_MIDDLEWARE` prefix/middleware constants in your route declarations.

Reference:

### Q: What environment variables in `.env` should I know about?

[](#q-what-environment-variables-in-env-should-i-know-about)

**Disable the API:**

```
GP247_API_MODE=1   // set to 0 to disable
```

**Database table prefix** (cannot be changed after gp247 is installed):

```
GP247_DB_PREFIX=gp247_
```

**Admin page path prefix:**

```
GP247_ADMIN_PREFIX=gp247_admin
```

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance96

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 69.6% 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.

###  Release Activity

Cadence

Every ~67 days

Recently: every ~82 days

Total

6

Last Release

23d ago

Major Versions

1.0.1 → 2.02026-07-08

PHP version history (2 changes)1.0PHP ^8.2

2.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/135157421?v=4)[gp247](/maintainers/gp247)[@GP247](https://github.com/GP247)

---

Top Contributors

[![gp247net](https://avatars.githubusercontent.com/u/193377302?v=4)](https://github.com/gp247net "gp247net (16 commits)")[![s-cart](https://avatars.githubusercontent.com/u/63009096?v=4)](https://github.com/s-cart "s-cart (7 commits)")

---

Tags

gp247laravel ecommerceSCart ecommerceSCart open sourceFree Shopping cartS-CartLaravel multiple vendorLaravel marketplaceLaravel multiple store

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/gp247-s-cart/health.svg)

```
[![Health](https://phpackages.com/badges/gp247-s-cart/health.svg)](https://phpackages.com/packages/gp247-s-cart)
```

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.8k2.5k](/packages/unopim-unopim)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

4041.8k](/packages/codewithdennis-larament)[ercogx/laravel-filament-starter-kit

This is a Filament v5 Starter Kit for Laravel 13, designed to accelerate the development of Filament-powered applications.

471.8k](/packages/ercogx-laravel-filament-starter-kit)

PHPackages © 2026

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