# xShop
x-shop is an open source shop developed in laravel, very customizable!
## xshop features
- Product category manager
- product categories tree
- product category sotable
- product category metable
- product category image + thumbnail
- Product manager
- product fields
- name
- base price
- main category
- categories
- sku code
- abstract
- description
- tags
- product quantity + managing store
- product discount
- product multi images + thumbnail
- product metable
- orders & invoice
- customer & clients
- multi address
- can define clients as colleague
- customer control panel
- question and answer
- ticking system
- transport manager
- meta properties
- post manager
- post categories
- gallery manager
- nav menu manager
- slider & carousel manager
- comments manager
- settings
- attachment system
- admins logs
- user & admin mananger
- polling system
- advertise system
- supported pay gateways:
- zarinpal
- zibal
- pay.ir
- saderat bank
- melat bank
- parsian bank
- & etc, like as customzied search and compare products
## License
xShop developed under `GPL-3` license, So don't worry it will be opensource for ever!
[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/GNU)
[GPL](https://www.gnu.org/licenses/gpl-3.0.en.html)
## Develop guide
### Requirement
- php 8.1 [ `php-gd`, `sqlite3`, `php-soap` ]
- mysql or mariadb
- composer
### Development config & commands
Create new database and rename `.env.example` to `.env` then update you `.env` configs so run this commands:
```bash
git clone https://github.com/4xmen/xshop.git
cd xshop
composer install
php artisan migrate --seed
php artisan storage:link
php key:generate
php artisan serv
```
now login to admin panel `http://localhost:8000/dashboard` default admin email is : `admin@example.com` and default password is: `password`
## Deploy guide
We recommend deploy xshop on VPS, so create databse and run this commands
```bash
cd /home/[yourUsername]/[pathOfYourWebsitePublicHTML]
git clone https://github.com/4xmen/xshop.git . # if this command not work make empty this folder
cp .env.example .env
nano .env # edit your config db, url, etc.
composer install
php artisan migrate
php artisan db:seed --class=UserSeeder
php artisan db:seed --class=SettingSeeder
nano .env # make APP_DEBUG false, APP_ENV production
php artisan storage:link
php key:generate
composer install --optimize-autoloader --no-dev
```
### Add cron job
You must add crontab for your project:
```bash
crontab -e
```
Add this line:
```bash
* * * * * cd /home/[yourusername]/[your-public-html-project-root] && php artisan schedule:run >> /dev/null 2>&1
```
## Contribute & support
We are so pleased to your help and help you, If you wanna develop xshop, Congrats or
if you have problem, don't worry create an issue here:
```
https://github.com/4xmen/xshop/issues
```
## Test
Note: The test must be run on development version, and test command is:
```bash
php artisan test
```
## Screen shots
![1](./media/shopscreenshot1.png)
![2](./media/shopscreenshot2.png)
![3](./media/shopscreenshot3.png)
![4](./media/shopscreenshot4.png)
![5](./media/shopscreenshot5.png)
![6](./media/shopscreenshot6.png)
![6](./media/shopscreenshot7.png)
Developed With Love ! ❤️