Co-authored-by: Frank John Begornia <frank.begornia@yahoo.com> Reviewed-on: #2
4.5 KiB
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)
# 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
# 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 hostDB_DATABASE- Database nameDB_USERNAME- Database usernameDB_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
devbranch - Production: Auto-deploys on push to
main/masterbranch - Manual Builds: Trigger builds with custom tags
Refer to DEPLOYMENT.md and 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
# Run PHPUnit tests
docker exec merchbay_admin_app vendor/bin/phpunit
# Or locally
./vendor/bin/phpunit
Artisan Commands
# 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
.envfiles - 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:
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.