{"id":31679226,"url":"https://github.com/elbayoumi/app.busatyapp.com","last_synced_at":"2026-04-09T02:02:01.794Z","repository":{"id":318293654,"uuid":"1070668106","full_name":"elbayoumi/app.busatyapp.com","owner":"elbayoumi","description":"Unified Dockerized platform combining Laravel (PHP 8.2) and Node.js (Socket.IO) for scalable backend systems — including Caddy, Nginx, MySQL, Redis, and phpMyAdmin. Powers the Busaty ecosystem with real-time capabilities, API orchestration, and production-ready containerization.","archived":false,"fork":false,"pushed_at":"2025-10-06T11:16:50.000Z","size":43615,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"v2","last_synced_at":"2025-10-06T11:29:56.611Z","etag":null,"topics":["caddy","docker","docker-compose","laravel","laravel-framework","nginx","socketio"],"latest_commit_sha":null,"homepage":"https://app.elbayoumi.net","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elbayoumi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-06T09:22:40.000Z","updated_at":"2025-10-06T10:49:35.000Z","dependencies_parsed_at":"2025-10-06T11:40:41.208Z","dependency_job_id":null,"html_url":"https://github.com/elbayoumi/app.busatyapp.com","commit_stats":null,"previous_names":["elbayoumi/app.busatyapp.com"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/elbayoumi/app.busatyapp.com","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elbayoumi%2Fapp.busatyapp.com","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elbayoumi%2Fapp.busatyapp.com/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elbayoumi%2Fapp.busatyapp.com/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elbayoumi%2Fapp.busatyapp.com/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elbayoumi","download_url":"https://codeload.github.com/elbayoumi/app.busatyapp.com/tar.gz/refs/heads/v2","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elbayoumi%2Fapp.busatyapp.com/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31581864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caddy","docker","docker-compose","laravel","laravel-framework","nginx","socketio"],"created_at":"2025-10-08T06:46:47.044Z","updated_at":"2026-04-09T02:02:01.785Z","avatar_url":"https://github.com/elbayoumi.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Busaty Core Platform\n\n**Busaty Core** is the unified backend environment powering the **Busaty Ecosystem**, designed to deliver a highly scalable, modular, and production-ready foundation for web and mobile applications.  \nIt combines **Laravel (PHP)** for API and business logic with **Node.js (Socket.IO)** for real-time features — all orchestrated through **Docker Compose**.\n\n---\n\n## 🧩 Overview\n\nBusaty Core provides a **containerized infrastructure** that bundles all essential services:\n- Laravel (PHP 8.2) for API, logic, and queues\n- Node.js (Socket.IO) for real-time communication\n- MySQL 8 for relational database management\n- Redis 7 for caching, queues, and event broadcasting\n- Nginx for serving Laravel efficiently\n- Caddy for SSL termination and reverse proxying\n- phpMyAdmin for quick DB inspection\n- Queue \u0026 Scheduler containers for background jobs\n\nIt’s designed to work seamlessly in both **local development** and **production** environments.\n\n---\n\n## 🏗 Architecture Diagram\n\nscss\nCopy code\n         ┌──────────────────────┐\n         │   Client (Web/App)   │\n         └──────────┬───────────┘\n                    │ HTTPS\n                    ▼\n           ┌────────────────┐\n           │     Caddy      │\n           │ (SSL Proxy)    │\n           └──────┬─────────┘\n ┌────────────────┴────────────────┐\n │                                 │\n ▼                                 ▼\n┌──────────────┐ ┌──────────────┐\n│ Nginx │ │ Socket.IO │\n│ (Laravel) │ │ (Node.js) │\n└──────┬───────┘ └──────┬───────┘\n│ │\n▼ ▼\n┌──────────────┐ ┌──────────────┐\n│ PHP-FPM App │ │ Redis (PubSub│\n│ (Laravel) │ │ Cache) │\n└──────┬───────┘ └──────────────┘\n│\n▼\n┌──────────────┐\n│ MySQL 8 DB │\n└──────────────┘\n\nyaml\nCopy code\n\n---\n\n## 📂 Folder Structure\n\nbusaty-core/\n├── laravel/ # Laravel backend (API, logic, queues)\n│ ├── Dockerfile\n│ ├── app/\n│ ├── routes/\n│ ├── config/\n│ └── ...\n│\n├── node-socket/ # Node.js Socket.IO real-time server\n│ ├── Dockerfile\n│ ├── package.json\n│ └── server.js\n│\n├── docker/\n│ ├── caddy/ # Reverse proxy configs + SSL\n│ │ └── Caddyfile\n│ ├── nginx/ # Nginx config for Laravel\n│ │ └── default.conf\n│ └── php/ # Optional PHP configs\n│\n├── docker-compose.yml # Unified Docker environment\n├── README.md # Project documentation\n└── .gitignore\n\nruby\nCopy code\n\n---\n\n## ⚙️ Core Technologies\n\n| Component | Technology | Purpose |\n|:----------|:------------|:---------|\n| Backend Framework | **Laravel 11** | Main API, controllers, services, jobs |\n| Realtime Server | **Node.js 20 + Socket.IO 4.7** | Handles live updates, push notifications |\n| Web Server | **Nginx 1.25 Alpine** | Routes HTTP to Laravel |\n| SSL Proxy | **Caddy 2** | Manages HTTPS \u0026 certificates automatically |\n| Database | **MySQL 8.0** | Persistent relational data storage |\n| Cache/Queue | **Redis 7 Alpine** | Caching, broadcasting \u0026 queues |\n| Container Management | **Docker Compose 3.9** | Unified orchestration |\n| Admin Panel | **phpMyAdmin** | Database GUI for quick inspection |\n\n---\n\n## 🧠 Environment Summary\n\n### Subdomains\n\n| Domain | Service | Description |\n|:--------|:---------|:-------------|\n| `app.elbayoumi.net` | Laravel | Main backend API |\n| `ws.app.elbayoumi.net` | Node.js Socket.IO | Realtime WebSocket server |\n\nBoth are handled by **Caddy**, which routes requests to the correct internal container.\n\n---\n\n## 🚀 Setup \u0026 Installation\n\n### 1️⃣ Clone or prepare the repository\n```bash\ngit clone https://github.com/your-username/busaty-core.git\ncd busaty-core\n2️⃣ Configure environment variables\nCopy .env.example inside laravel/ and set your values:\n\nbash\nCopy code\ncp laravel/.env.example laravel/.env\nMake sure to set:\n\nenv\nCopy code\nAPP_URL=https://app.elbayoumi.net\nDB_HOST=db\nREDIS_HOST=redis\nSOCKET_SERVER_URL=http://socket:3001\n3️⃣ Build and start all services\nbash\nCopy code\ndocker compose up -d --build\n4️⃣ Generate Laravel app key\nbash\nCopy code\ndocker exec -it bussaty_app php artisan key:generate\n5️⃣ Run migrations \u0026 seeders\nbash\nCopy code\ndocker exec -it bussaty_app php artisan migrate --seed\n6️⃣ Access phpMyAdmin (optional)\n👉 http://localhost:8080\n\nHost: db | User: root | Password: root\n\n🌐 Access Points\nService\tURL\tDescription\nLaravel API\thttps://app.elbayoumi.net\tMain backend app\nSocket.IO\thttps://ws.app.elbayoumi.net\tWebSocket endpoint\nphpMyAdmin\thttp://localhost:8080\tDB GUI tool\n\n🔧 Common Commands\nLaravel (inside container)\nbash\nCopy code\n# Run artisan commands\ndocker exec -it bussaty_app php artisan migrate\ndocker exec -it bussaty_app php artisan tinker\ndocker exec -it bussaty_app php artisan queue:work\nNode.js (inside container)\nbash\nCopy code\n# View socket logs\ndocker logs -f bussaty_socket\nGlobal\nbash\nCopy code\n# Restart specific service\ndocker compose restart socket\n\n# View all container logs\ndocker compose logs -f\n\n# Rebuild everything\ndocker compose up -d --build\n💬 Communication Flow\nClient (Web/App) → connects to https://ws.app.elbayoumi.net via Socket.IO.\n\nLaravel pushes messages/events to Redis.\n\nSocket.IO server subscribes to Redis channels and emits events in real-time.\n\nCaddy handles SSL and routes traffic internally.\n\n🧱 Docker Network Layout\nService\tHostname\tPurpose\napp\tLaravel PHP-FPM\tExecutes backend code\nweb\tNginx\tForwards to app:9000\nsocket\tNode.js\tWebSocket communication\ndb\tMySQL\tRelational data\nredis\tRedis\tCache, queues\ncaddy\tHTTPS proxy\tPublic entry\nqueue\tWorker\tBackground jobs\nscheduler\tScheduler\tRuns cron jobs\nphpmyadmin\tphpMyAdmin\tDB interface\n\n🔒 Security Recommendations\nDisable phpMyAdmin in production or protect with IP whitelisting.\n\nUse HTTPS enforced via Caddy.\n\nNever expose MySQL or Redis ports publicly.\n\nKeep .env files private and excluded from Git.\n\nLimit container users with user: 1000:1000 (already configured).\n\nUse Fail2ban or a Cloud firewall for SSH protection.\n\n🧰 Development Tips\nTask\tCommand\nRebuild only Laravel\tdocker compose build app\nRebuild only Socket\tdocker compose build socket\nEnter Laravel container\tdocker exec -it bussaty_app bash\nEnter Node container\tdocker exec -it bussaty_socket sh\nRun PHP CS Fixer (optional)\tdocker exec -it bussaty_app vendor/bin/pint\n\n⚡️ Scaling \u0026 Deployment\nScaling Socket.IO:\n\nbash\nCopy code\ndocker compose up -d --scale socket=3\nThen use Redis as the adapter for horizontal scaling.\n\nZero Downtime:\nUse Caddy load balancing + multiple containers for rolling updates.\n\nDatabase Backups:\nMount /var/lib/mysql volume and schedule backup jobs.\n\n🧩 Future Integrations\nFeature\tDescription\nReal-time notifications\tLaravel ↔ Socket.IO integration\nMonitoring\tPrometheus + Grafana dashboards\nEmail service\tLaravel mail queue via Mailpit\nAPI Gateway\tKong / Traefik for multi-service routing\nCI/CD\tGitHub Actions or Jenkins pipeline\n\n🧑‍💻 Author\nMohamed Ashraf Elbayoumi\nCTO \u0026 Full-Stack Developer — Busaty Platform\n📧 contact@elbayoumi.net\n🌐 https://elbayoumi.net\n💼 LinkedIn Profile\n\n🪪 License\nThis repository is part of the Busaty Platform — a proprietary project.\nAll rights reserved © 2025 Mohamed Ashraf Elbayoumi.\n\nUnauthorized use, copying, or redistribution is strictly prohibited.\n\nyaml\nCopy code\n\n---\n\nهل تحب أعمل كمان نسخة **عربية كاملة بنفس المستوى** تكون باسم `README.ar.md` (توضح الهدف التجاري والتقني بالعربي للمستثمر أو العميل) بحيث تبقى الريبو فيها اللغتين؟\n\n\n\n\nYou said:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felbayoumi%2Fapp.busatyapp.com","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felbayoumi%2Fapp.busatyapp.com","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felbayoumi%2Fapp.busatyapp.com/lists"}