Some checks failed
Deploy Production (admin.merchbay.app) / deploy (push) Failing after 36s
Co-authored-by: Frank John Begornia <frank.begornia@yahoo.com> Reviewed-on: #2
179 lines
4.5 KiB
Markdown
179 lines
4.5 KiB
Markdown
# MerchBay Admin Panel
|
|
|
|
A comprehensive administration platform built with Laravel 5.2 for managing e-commerce operations, product catalogs, and customer relationships.
|
|
|
|
## Overview
|
|
|
|
MerchBay Admin is a web-based administration interface designed to streamline business operations for custom merchandise and sportswear management. The platform provides robust tools for inventory control, order processing, and analytics.
|
|
|
|
## Technology Stack
|
|
|
|
- **Framework**: Laravel 5.2
|
|
- **PHP Version**: 7.4
|
|
- **Web Server**: Apache 2.4
|
|
- **Database**: MySQL
|
|
- **Reverse Proxy**: Traefik with Let's Encrypt SSL
|
|
- **Containerization**: Docker & Docker Compose
|
|
- **CI/CD**: Gitea Actions
|
|
|
|
## Features
|
|
|
|
- User authentication and role-based access control
|
|
- Product and inventory management
|
|
- Order processing and tracking
|
|
- Customer relationship management
|
|
- Analytics and reporting dashboard
|
|
- RESTful API endpoints
|
|
- Secure HTTPS communication
|
|
|
|
## Requirements
|
|
|
|
- Docker Engine 20.10+
|
|
- Docker Compose 2.0+
|
|
- PHP 7.4 (for local development)
|
|
- Composer 1.x
|
|
- MySQL 5.7+ or MariaDB 10.3+
|
|
|
|
## Quick Start
|
|
|
|
### Using Docker (Recommended)
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone <repository-url>
|
|
cd merchbay_admin
|
|
|
|
# Copy environment file
|
|
cp .env.example .env
|
|
|
|
# Configure your environment variables
|
|
vim .env
|
|
|
|
# Build and start containers
|
|
docker-compose up -d
|
|
|
|
# Install dependencies
|
|
docker exec merchbay_admin_app composer install
|
|
|
|
# Generate application key
|
|
docker exec merchbay_admin_app php artisan key:generate
|
|
|
|
# Run migrations
|
|
docker exec merchbay_admin_app php artisan migrate
|
|
```
|
|
|
|
### Local Development
|
|
|
|
```bash
|
|
# Install PHP dependencies
|
|
composer install
|
|
|
|
# Copy environment file
|
|
cp .env.example .env
|
|
|
|
# Generate application key
|
|
php artisan key:generate
|
|
|
|
# Configure database in .env file
|
|
# Run migrations
|
|
php artisan migrate
|
|
|
|
# Start development server
|
|
php artisan serve
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Environment Variables
|
|
|
|
Key environment variables to configure:
|
|
|
|
- `APP_URL` - Application URL (e.g., https://admin.merchbay.app)
|
|
- `DB_HOST` - Database host
|
|
- `DB_DATABASE` - Database name
|
|
- `DB_USERNAME` - Database username
|
|
- `DB_PASSWORD` - Database password
|
|
|
|
### SSL/HTTPS Configuration
|
|
|
|
The application uses Traefik as a reverse proxy with automatic Let's Encrypt SSL certificates. Ensure your DNS is properly configured and the following Traefik labels are set in `docker-compose.yml`.
|
|
|
|
## Deployment
|
|
|
|
This project includes automated CI/CD pipelines via Gitea Actions:
|
|
|
|
- **Development**: Auto-deploys on push to `dev` branch
|
|
- **Production**: Auto-deploys on push to `main`/`master` branch
|
|
- **Manual Builds**: Trigger builds with custom tags
|
|
|
|
Refer to [DEPLOYMENT.md](DEPLOYMENT.md) and [DEPLOYMENT-PORTAINER.md](DEPLOYMENT-PORTAINER.md) for detailed deployment instructions.
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
merchbay_admin/
|
|
├── app/ # Application core files
|
|
│ ├── Http/ # Controllers, middleware, routes
|
|
│ ├── Models/ # Eloquent models
|
|
│ └── Providers/ # Service providers
|
|
├── config/ # Configuration files
|
|
├── database/ # Migrations and seeds
|
|
├── public/ # Public assets
|
|
├── resources/ # Views, assets, lang files
|
|
├── storage/ # Application storage
|
|
├── .gitea/workflows/ # CI/CD pipelines
|
|
└── docker-compose.yml # Docker configuration
|
|
```
|
|
|
|
## Development
|
|
|
|
### Running Tests
|
|
|
|
```bash
|
|
# Run PHPUnit tests
|
|
docker exec merchbay_admin_app vendor/bin/phpunit
|
|
|
|
# Or locally
|
|
./vendor/bin/phpunit
|
|
```
|
|
|
|
### Artisan Commands
|
|
|
|
```bash
|
|
# List all available commands
|
|
docker exec merchbay_admin_app php artisan list
|
|
|
|
# Clear application cache
|
|
docker exec merchbay_admin_app php artisan cache:clear
|
|
|
|
# Run database migrations
|
|
docker exec merchbay_admin_app php artisan migrate
|
|
```
|
|
|
|
## Security
|
|
|
|
- All HTTP traffic is automatically redirected to HTTPS
|
|
- Environment variables are managed securely via `.env` files
|
|
- SQL injection prevention via Eloquent ORM
|
|
- CSRF protection enabled on all forms
|
|
- XSS protection via Blade templating
|
|
|
|
For security vulnerabilities, please contact the development team directly.
|
|
|
|
## Documentation
|
|
|
|
Additional documentation is available:
|
|
|
|
- [Docker Setup Guide](README-DOCKER.md)
|
|
- [Deployment Guide](DEPLOYMENT.md)
|
|
- [Portainer Deployment](DEPLOYMENT-PORTAINER.md)
|
|
- [Traefik SSL Configuration](TRAEFIK-SSL-CONFIG.md)
|
|
|
|
## Support
|
|
|
|
For issues, questions, or contributions, please contact the development team or open an issue in the repository.
|
|
|
|
## License
|
|
|
|
This project is proprietary software. All rights reserved.
|