Plataforma de E-commerce
BuyPeer é uma plataforma completa de e-commerce desenvolvida em Laravel com Vue.js, oferecendo uma solução robusta para lojas online com recursos avançados de gestão, pagamentos e experiência do usuário.
- Catálogo de Produtos: Navegação por categorias e marcas
- Sistema de Busca: Busca avançada com filtros
- Carrinho de Compras: Gestão de produtos e quantidades
- Checkout Completo: Processo de compra otimizado
- Sistema de Pagamentos: Integração com múltiplas gateways
- Área do Cliente: Histórico de pedidos, endereços, favoritos
- Sistema de Avaliações: Reviews de produtos
- Promoções e Cupons: Descontos e ofertas especiais
- Responsivo: Interface adaptável para mobile e desktop
- Dashboard Completo: Métricas e relatórios em tempo real
- Gestão de Produtos: CRUD completo com variações
- Gestão de Pedidos: Acompanhamento e atualização de status
- Gestão de Clientes: Cadastro e histórico de compras
- Sistema de Estoque: Controle de inventário
- Relatórios Avançados: Vendas, produtos, clientes
- Configurações: Personalização da loja
- Multi-idioma: Suporte a múltiplos idiomas
- PWA: Progressive Web App
- Stripe: Pagamentos internacionais
- Razorpay: Gateway indiano
- Cashfree: Pagamentos locais
- Pagamento em Dinheiro: Para retirada local
- Múltiplas Moedas: Suporte a diferentes moedas
- PHP: 8.1 ou superior
- Composer: 2.0 ou superior
- Node.js: 16.0 ou superior
- MySQL: 8.0 ou superior
- Nginx/Apache: Servidor web
- SSL: Certificado SSL (recomendado)
- Clone o repositório
git clone https://github.com/Guimp-Code/BuyPeer.git
cd BuyPeer- Instale as dependências PHP
composer install- Instale as dependências Node.js
npm install- Configure o arquivo de ambiente
cp .env.example .env
php artisan key:generate- Configure o banco de dados no .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=buypeer
DB_USERNAME=seu_usuario
DB_PASSWORD=sua_senha- Execute as migrações
php artisan migrate- Execute os seeders
php artisan db:seed- Compile os assets
npm run dev- Configure o servidor web
php artisan serveSistema Operacional: Ubuntu 20.04/22.04 LTS
Atualize o sistema:
sudo apt update && sudo apt upgrade -yInstale o LEMP Stack:
# Nginx
sudo apt install nginx -y
# MySQL
sudo apt install mysql-server -y
# PHP 8.1
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-curl php8.1-mbstring php8.1-zip php8.1-gd php8.1-bcmath php8.1-intl php8.1-soap php8.1-redis -y
# Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejssudo mysql_secure_installationCrie o banco de dados:
CREATE DATABASE buypeer;
CREATE USER 'buypeer_user'@'localhost' IDENTIFIED BY 'sua_senha_forte';
GRANT ALL PRIVILEGES ON buypeer.* TO 'buypeer_user'@'localhost';
FLUSH PRIVILEGES;Clone o projeto:
cd /var/www
sudo git clone https://github.com/Guimp-Code/BuyPeer.git
sudo chown -R www-data:www-data BuyPeer
cd BuyPeerConfigure as permissões:
sudo chmod -R 755 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cacheInstale as dependências:
composer install --optimize-autoloader --no-dev
npm install
npm run productionConfigure o .env:
cp .env.example .env
php artisan key:generateConfigure o arquivo .env para produção:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://seudominio.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=buypeer
DB_USERNAME=buypeer_user
DB_PASSWORD=sua_senha_forte
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379Execute as migrações:
php artisan migrate --force
php artisan db:seed --forceConfigure o cache:
php artisan config:cache
php artisan route:cache
php artisan view:cacheCrie o arquivo de configuração:
sudo nano /etc/nginx/sites-available/buypeerAdicione a configuração:
server {
listen 80;
server_name seudominio.com www.seudominio.com;
root /var/www/BuyPeer/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}Ative o site:
sudo ln -s /etc/nginx/sites-available/buypeer /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginxInstale o Certbot:
sudo apt install certbot python3-certbot-nginx -yObtenha o certificado SSL:
sudo certbot --nginx -d seudominio.com -d www.seudominio.comInstale o Redis:
sudo apt install redis-server -y
sudo systemctl enable redis-serverInstale o Supervisor:
sudo apt install supervisor -yCrie o arquivo de configuração:
sudo nano /etc/supervisor/conf.d/buypeer-worker.confAdicione a configuração:
[program:buypeer-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/BuyPeer/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/BuyPeer/storage/logs/worker.log
stopwaitsecs=3600Ative o supervisor:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start buypeer-worker:*Após a instalação, acesse:
https://seudominio.com/admin
Credenciais padrão:
- Email: admin@buypeer.com
- Senha: 12345678
No painel administrativo, configure:
-
Informações da Empresa
- Nome da loja
- Endereço
- Telefone
-
Configurações de Pagamento
- Ative os gateways desejados
- Configure as chaves de API
- Teste as integrações
-
Configurações de Email
- SMTP para notificações
- Templates de email
-
Configurações de Frete
- Áreas de entrega
- Taxas de frete
- Métodos de entrega
-
Produtos e Categorias
- Crie categorias principais
- Adicione produtos de exemplo
- Configure variações
Configure o cache:
php artisan config:cache
php artisan route:cache
php artisan view:cacheConfigure o cron para tarefas agendadas:
crontab -eAdicione a linha:
* * * * * cd /var/www/BuyPeer && php artisan schedule:run >> /dev/null 2>&1- Firewall:
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow 'Nginx Full'- Atualizações regulares:
sudo apt update && sudo apt upgrade -y- Backup automático:
# Crie um script de backup
sudo nano /usr/local/bin/backup-buypeer.shConteúdo do script:
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backup/buypeer"
mkdir -p $BACKUP_DIR
# Backup do banco
mysqldump -u buypeer_user -p buypeer > $BACKUP_DIR/database_$DATE.sql
# Backup dos arquivos
tar -czf $BACKUP_DIR/files_$DATE.tar.gz /var/www/BuyPeer
# Manter apenas os últimos 7 backups
find $BACKUP_DIR -name "*.sql" -mtime +7 -delete
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -deleteTorne executável e agende:
sudo chmod +x /usr/local/bin/backup-buypeer.sh
sudo crontab -e
# Adicione: 0 2 * * * /usr/local/bin/backup-buypeer.sh- Laravel logs:
/var/www/BuyPeer/storage/logs/laravel.log - Nginx logs:
/var/log/nginx/access.loge/var/log/nginx/error.log - PHP-FPM logs:
/var/log/php8.1-fpm.log
# Verificar status dos serviços
sudo systemctl status nginx php8.1-fpm mysql redis-server
# Verificar logs em tempo real
sudo tail -f /var/www/BuyPeer/storage/logs/laravel.log
# Limpar cache
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
# Verificar permissões
sudo chown -R www-data:www-data /var/www/BuyPeer
sudo chmod -R 755 /var/www/BuyPeer/storagePara suporte técnico ou dúvidas sobre o projeto:
- Issues: GitHub Issues
- Documentação: Consulte a documentação do Laravel
- Comunidade: Stack Overflow com tag
laravel
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido com ❤️ pela equipe BuyPeer