Files
merchbay_admin/readme.md
Frank John Begornia 246f6b2c0f
All checks were successful
Deploy Development / deploy (push) Successful in 1m20s
Remove outdated deployment and configuration files; consolidate deployment instructions into README and update project structure.
2025-12-18 12:58:56 +08:00

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.