feat: Add comprehensive documentation suite and reorganize project structure

- Created complete documentation in docs/ directory
- Added PROJECT_OVERVIEW.md with feature highlights and getting started guide
- Added ARCHITECTURE.md with system design and technical details
- Added SECURITY.md with comprehensive security implementation guide
- Added DEVELOPMENT.md with development workflows and best practices
- Added DEPLOYMENT.md with production deployment instructions
- Added API.md with complete REST API documentation
- Added CONTRIBUTING.md with contribution guidelines
- Added CHANGELOG.md with version history and migration notes
- Reorganized all documentation files into docs/ directory for better organization
- Updated README.md with proper documentation links and quick navigation
- Enhanced project structure with professional documentation standards
This commit is contained in:
SamiAhmed7777
2025-10-21 00:39:45 -07:00
commit 0b7e2d0a5b
6080 changed files with 1332936 additions and 0 deletions

75
docker-compose.test.yml Normal file
View File

@@ -0,0 +1,75 @@
version: "3.8"
services:
test-db:
image: mariadb:10.6
container_name: easystream-test-db
environment:
MYSQL_ROOT_PASSWORD: test
MYSQL_DATABASE: easystream_test
MYSQL_USER: test
MYSQL_PASSWORD: test
ports:
- "3307:3306"
volumes:
- test_db_data:/var/lib/mysql
- ./deploy/create_missing_tables.sql:/docker-entrypoint-initdb.d/1-create_tables.sql:ro
- ./deploy/init_settings.sql:/docker-entrypoint-initdb.d/2-init_settings.sql:ro
- ./tests/fixtures/test_data.sql:/docker-entrypoint-initdb.d/3-test_data.sql:ro
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u test -ptest --silent || exit 1"]
start_period: 30s
interval: 5s
timeout: 3s
retries: 10
tmpfs:
- /tmp
test-redis:
image: redis:6-alpine
container_name: easystream-test-redis
ports:
- "6380:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
tmpfs:
- /data
test-php:
build:
context: .
dockerfile: Dockerfile.test
container_name: easystream-test-php
working_dir: /srv/easystream
environment:
TZ: UTC
DB_HOST: test-db
DB_NAME: easystream_test
DB_USER: test
DB_PASS: test
REDIS_HOST: test-redis
REDIS_PORT: 6379
REDIS_DB: 1
TESTING: "true"
APP_ENV: testing
volumes:
- ./:/srv/easystream
- test_uploads:/srv/easystream/f_data/uploads
- test_logs:/srv/easystream/f_data/logs
depends_on:
test-db:
condition: service_healthy
test-redis:
condition: service_healthy
command: tail -f /dev/null
volumes:
test_db_data:
driver: local
test_uploads:
driver: local
test_logs:
driver: local