{"id":36532664,"url":"https://github.com/yelaco/ludofy","last_synced_at":"2026-01-12T03:02:59.842Z","repository":{"id":288709189,"uuid":"961478499","full_name":"yelaco/ludofy","owner":"yelaco","description":"PaaS solution for deploying and managing serverless game backends","archived":false,"fork":false,"pushed_at":"2025-06-15T10:46:32.000Z","size":5101,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T11:47:58.279Z","etag":null,"topics":["autoscaling","cost-optimization","game-backend","paas","serverless"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yelaco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-04-06T15:55:31.000Z","updated_at":"2025-06-15T10:46:37.000Z","dependencies_parsed_at":"2025-06-15T11:42:32.108Z","dependency_job_id":null,"html_url":"https://github.com/yelaco/ludofy","commit_stats":null,"previous_names":["yelaco/ludofy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yelaco/ludofy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelaco%2Fludofy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelaco%2Fludofy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelaco%2Fludofy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelaco%2Fludofy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yelaco","download_url":"https://codeload.github.com/yelaco/ludofy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelaco%2Fludofy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28332848,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"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":["autoscaling","cost-optimization","game-backend","paas","serverless"],"created_at":"2026-01-12T03:02:58.478Z","updated_at":"2026-01-12T03:02:59.835Z","avatar_url":"https://github.com/yelaco.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎮 Ludofy – Serverless Game Backend Deployment Platform (PaaS)\n\nLudofy is a **Platform-as-a-Service (PaaS)** solution designed to simplify the deployment and management of backend services for online games. Built entirely on **AWS serverless architecture**, Ludofy enables game developers to quickly deploy scalable, event-driven, and cost-efficient game backends—without managing infrastructure.\n\n## 🚀 Key Features\n\n- 🧩 **Modular Backend Services** – Built-in support for:\n  - Matchmaking\n  - Player ranking (ELO, Glicko, TrueSkill)\n  - Live chat \u0026 messaging\n  - Friends \u0026 social systems\n  - Match spectating\n- ⚙️ **Serverless by Design** – Powered by AWS Lambda, API Gateway, DynamoDB, AppSync, SQS, SNS, and Fargate.\n- 📦 **Custom Game Server Deployment** – Upload your Docker image, and Ludofy handles orchestration, scaling, and lifecycle management via ECS Fargate.\n- 📈 **Real-time Monitoring** – Frontend dashboard to track active matches, CPU/memory usage, and deployment state.\n- 💻 **SDK \u0026 API Integration** – Use the Go SDK to integrate your game logic, or interact directly with provided APIs.\n- 🧠 **Auto-scaling Game Servers** – Servers dynamically start or stop based on active players and match load.\n\n## 🧱 System Architecture\n\nLudofy consists of:\n- **Frontend** (Vue + TailwindCSS): Platform dashboard to configure and deploy backends.\n- **Deployment Engine** (AWS SAM, CloudFormation): Automates backend provisioning.\n- **Game Backend Services**: Serverless microservices implementing core features.\n- **ECS Fargate Game Server Layer**: Stateless, isolated microservers per match.\n\n## 🛠️ Tech Stack\n\n| Layer               | Tools / Services                        |\n|--------------------|------------------------------------------|\n| Infrastructure      | AWS SAM, CloudFormation, IaC            |\n| Compute             | AWS Lambda, ECS Fargate                 |\n| Communication       | API Gateway (HTTP/WebSocket), AppSync  |\n| Storage \u0026 DB        | DynamoDB, S3                            |\n| Messaging           | SQS, SNS                                |\n| Auth                | Cognito                                 |\n| Monitoring          | CloudWatch                              |\n| Frontend            | Vue.js + TailwindCSS                    |\n| Load Testing        | k6                                      |\n| CI/CD               | GitHub Actions                          |\n\n## 🧪 Performance \u0026 Scalability\n\n- Tested with up to **10,000 concurrent players**\n- Stable matchmaking latency under heavy load\n- Dynamic scaling of game servers based on match requests\n- Cost-efficient (serverless pay-per-use model)\n\n## 🔧 Prerequisites\n\nBefore setting up Ludofy locally or deploying your backend, make sure the following tools are installed:\n\n| Tool | Description | Install Guide |\n|------|-------------|----------------|\n| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) | Required for deploying backend via AWS SAM | Run `aws configure` to set credentials |\n| [Docker](https://docs.docker.com/get-docker/) | Needed for building and uploading custom game servers | Used for ECS Fargate container deployment |\n| [Task](https://taskfile.dev/#/installation) | Task runner used to simplify local dev workflows | Runs scripts like `task web:run-dev` |\n| [Go](https://golang.org/dl/) | For SDK usage or backend service development | Required if customizing backend logic |\n| [Node.js \u0026 npm](https://nodejs.org/) | Needed for running the frontend dashboard | Vue.js-based UI setup |\n| [SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) | AWS Serverless Application Model CLI | Used for deploying infrastructure via `task stack:deploy` |\n\n## 🧰 Getting Started\n\n1. **Clone the repo**  \n   ```bash\n   git clone https://github.com/yelaco/ludofy.git\n   cd ludofy\n   ```\n\n2. **Frontend setup**\n   ```bash\n   task env:base\n   task env:web\n\n   cd web\n   npm install\n   task web:run-dev\n   ```\n\n4. **Deploy backend (via AWS SAM)**  \n   ```bash\n   task env:base\n   task stack:deploy\n   ```\n\n## 📚 Documentation\n\n- [Usage Guide](https://yelaco/ludofy)\n- [SDK Reference](https://github.com/yelaco/ludofy)\n- [Customization Templates](https://ludofy.vercel.app/help/customization)\n\n## 📊 Evaluation\n\n| Metric               | Result                     |\n|----------------------|----------------------------|\n| Max Users Tested     | 10,000 concurrent          |\n| Avg Matchmaking Time | \u003c 30 seconds               |\n| Avg Server Latency   | \u003c 100ms                    |\n| Cost Efficiency      | ~70% cheaper than EC2/EKS  |\n\n## 📜 License\n\nThis project is under the MIT License. See `LICENSE` for more details.\n\n---\n\n\u003e 🧑‍🎓 Developed as a graduation project at Vietnam National University – University of Engineering and Technology, under the supervision of Dr. Phạm Mạnh Linh.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyelaco%2Fludofy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyelaco%2Fludofy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyelaco%2Fludofy/lists"}