Este é um sistema SaaS de e-commerce robusto e completo, desenvolvido com PHP, JavaScript, jQuery e Vue.js. O sistema permite que lojistas criem suas lojas online com planos gratuitos ou pagos.
- Sistema de multi-tenancy para múltiplas lojas
- Integração com Stripe para pagamentos de assinatura
- Integração com PIX para pagamentos de produtos
- Sistema de plugins extensível
- Auto-deploy via Docker
- Sistema de logs e monitoramento
- Painel administrativo completo
- Docker e Docker Compose
- PHP 8.2 ou superior
- MySQL 8.0
- Redis
- Composer
- Clone o repositório:
git clone https://github.com/seu-usuario/ecommerce-saas.git
cd ecommerce-saas
- Copie o arquivo de ambiente:
cp .env.example .env
-
Configure as variáveis de ambiente no arquivo
.env
-
Inicie os containers Docker:
docker-compose up -d
- Instale as dependências:
docker-compose exec web composer install
- Execute as migrações do banco de dados:
docker-compose exec web php artisan migrate
.
├── app/
│ ├── core/ # Núcleo do sistema
│ ├── plugins/ # Plugins do sistema
│ ├── config/ # Configurações
│ └── public/ # Arquivos públicos
├── docker/
│ ├── Dockerfile # Dockerfile principal
│ └── scripts/ # Scripts Docker
├── logs/ # Logs do sistema
├── tests/ # Testes automatizados
├── .env.example # Exemplo de configuração
├── composer.json # Dependências PHP
└── docker-compose.yml # Configuração Docker
O sistema possui um robusto sistema de plugins que permite estender suas funcionalidades. Para criar um plugin:
- Crie uma pasta com o nome do seu plugin em
app/plugins/
- Crie um arquivo
plugin.php
com a estrutura básica:
return [
'name' => 'NomeDoPlugin',
'version' => '1.0.0',
'hooks' => [
'hook_name' => function($params) {
// Sua lógica aqui
return $params;
}
]
];
before_product_create
after_product_create
before_order_create
after_order_create
before_user_create
after_user_create
O sistema possui um container Docker dedicado para monitorar alterações no repositório Git. Quando uma alteração é detectada:
- O código é atualizado automaticamente
- As dependências são reinstaladas
- As migrações são executadas
- O sistema é reiniciado
Para desenvolver novas funcionalidades:
- Crie um branch para sua feature:
git checkout -b feature/nova-funcionalidade
-
Desenvolva e teste sua funcionalidade
-
Envie um Pull Request
Os logs do sistema são armazenados em /var/www/logs/
e podem ser acessados via:
docker-compose exec web tail -f /var/www/logs/app.log
Para suporte, abra uma issue no repositório do GitHub ou entre em contato com a equipe de desenvolvimento.
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes. # urban-guacamole