{"id":48707732,"url":"https://github.com/ilyasbozdemir/chessgame-elixir","last_synced_at":"2026-04-11T12:02:27.626Z","repository":{"id":320735084,"uuid":"1083143960","full_name":"ilyasbozdemir/chessgame-elixir","owner":"ilyasbozdemir","description":"Real-time multiplayer chess built with Elixir Phoenix + Next.js 16. Presence, sockets, DB sync, modern UI, production-ready architecture.","archived":false,"fork":false,"pushed_at":"2026-03-07T19:02:31.000Z","size":2592,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-08T00:47:00.157Z","etag":null,"topics":["chess","elixir","iac","mongodb","multiplayer","nextjs","phoenix","pulumi","reactjs","websocket"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilyasbozdemir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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-25T12:39:28.000Z","updated_at":"2026-03-07T19:02:34.000Z","dependencies_parsed_at":"2025-10-25T16:08:11.277Z","dependency_job_id":"9c12ec98-3e68-4cde-9bc2-bf7cc7402d5d","html_url":"https://github.com/ilyasbozdemir/chessgame-elixir","commit_stats":null,"previous_names":["ilyasbozdemir/chessgame-elixir"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ilyasbozdemir/chessgame-elixir","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyasbozdemir%2Fchessgame-elixir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyasbozdemir%2Fchessgame-elixir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyasbozdemir%2Fchessgame-elixir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyasbozdemir%2Fchessgame-elixir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilyasbozdemir","download_url":"https://codeload.github.com/ilyasbozdemir/chessgame-elixir/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyasbozdemir%2Fchessgame-elixir/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31679484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["chess","elixir","iac","mongodb","multiplayer","nextjs","phoenix","pulumi","reactjs","websocket"],"created_at":"2026-04-11T12:02:26.863Z","updated_at":"2026-04-11T12:02:27.620Z","avatar_url":"https://github.com/ilyasbozdemir.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ♟️ Elixir Realtime Chess Game\n\nThis project is a **real‑time chess platform** built with:\n- **Elixir Phoenix** — WebSocket game server (GenServer, Channels, Presence)\n- **Next.js 15** — Premium game dashboard + SaaS landing page\n- **pnpm Workspaces** — Monorepo package management\n\n---\n\n[![Elixir CI](https://github.com/ilyasbozdemir/chessgame-elixir/actions/workflows/elixir.yml/badge.svg)](https://github.com/ilyasbozdemir/chessgame-elixir/actions/workflows/elixir.yml)\n[![Next.js Deploy](https://github.com/ilyasbozdemir/chessgame-elixir/actions/workflows/deploy.yml/badge.svg)](https://github.com/ilyasbozdemir/chessgame-elixir/actions/workflows/nextjs.yml)\n\n---\n\n## 🧱 Architecture Overview\n\n```\nchessgame-elixir/\n├── apps/\n│   ├── chess-game/               # 🚀 Ana Uygulama — Game Dashboard (port 3001)\n│   ├── chess-game-saas/          # 🎨 SaaS Landing Page (port 3000)\n│   ├── chess-game-v1/            # 📦 Legacy (arşiv, port 3002)\n│   ├── chess-game-v2/            # 📦 Premium standalone (arşiv, port 3003)\n│   └── backend/\n│       └── chess_realtime_server/ # ⚡ Elixir Phoenix (port 4000)\n├── .devcontainer/                # 🐳 VS Code Dev Container\n├── docker-compose.yml            # 🐳 Full stack (6 servis)\n└── README.md\n```\n\n**Technologies:**\n\n- ⚡ **Elixir Phoenix** — Realtime game server (GenServer, Channels, Presence)\n- 🧩 **Next.js 15** — App Router, React 19, Tailwind CSS v4\n- 🔐 **GoTrue (Supabase Auth)** — Self-hosted JWT authentication\n- 📦 **MinIO (S3 Compatible)** — Object storage for avatars \u0026 game assets\n- 🐘 **PostgreSQL 15** — Relational database (Users, Matches, Moves)\n- 🔁 **Phoenix Presence** — Real-time online player tracking\n\n---\n\n## 🚀 Services \u0026 Endpoints (Development)\n\n| Service | Port | Description |\n| :--- | :--- | :--- |\n| **SaaS Landing** | `3000` | Pazarlama / Landing Page |\n| **Chess App** | `3001` | Ana Oyun Uygulaması |\n| **Backend (Phoenix)** | `4000` | Realtime WebSocket Server |\n| **Auth (GoTrue)** | `9999` | User Management \u0026 JWT |\n| **Storage (MinIO)** | `9000` | S3 API |\n| **MinIO Console** | `9001` | Storage UI |\n| **Postgres** | `5432` | Veritabanı |\n\n---\n\n## ⚙️ Quick Start\n\n### Seçenek 1 — Lokal Geliştirme\n\n```bash\n# 1. Altyapıyı başlat (DB + Auth + MinIO)\npnpm run infra:up\n\n# 2. Backend (Elixir Phoenix)\npnpm run backend:setup   # ilk kurulumda bir kez\npnpm run backend:dev\n\n# 3. Frontend'ler (ayrı terminallerde)\npnpm run saas:dev        # → http://localhost:3000\npnpm run app:dev         # → http://localhost:3001\n```\n\n### Seçenek 2 — Tam Docker Stack\n\n```bash\n# Tüm servisleri ayağa kaldır (hot-reload dahil)\npnpm run docker:dev\n\n# Ya da arka planda\npnpm run docker:up\npnpm run docker:logs\n```\n\n### Seçenek 3 — VS Code Dev Container\n\n1. **Remote Explorer** → `Dev Containers: Reopen in Container`\n2. Tüm portlar otomatik forward edilir\n3. `pnpm install` otomatik çalışır\n\n---\n\n## 📜 Tüm Scriptler\n\n| Script | Açıklama |\n| :--- | :--- |\n| `pnpm run infra:up` | DB + Auth + MinIO başlat |\n| `pnpm run infra:down` | Altyapıyı durdur |\n| `pnpm run backend:dev` | Elixir Phoenix sunucu |\n| `pnpm run saas:dev` | SaaS landing (3000) |\n| `pnpm run app:dev` | Ana uygulama (3001) |\n| `pnpm run v1:dev` | Legacy arşiv (3002) |\n| `pnpm run v2:dev` | Premium arşiv (3003) |\n| `pnpm run docker:dev` | Tüm stack Docker'da |\n| `pnpm run docker:up` | Stack arka planda |\n| `pnpm run docker:down` | Stack durdur |\n| `pnpm run docker:logs` | Log akışı |\n\n---\n\n## 🧩 Roadmap\n\n- [x] **Lobby System** — Realtime presence, PRO license badge\n- [x] **Auth Integration** — GoTrue self-hosted JWT\n- [x] **Persistence** — Matches \u0026 moves saved to Postgres\n- [x] **Storage** — MinIO for profile assets\n- [x] **Chess Logic** — Full rule validation\n- [x] **Real-time Chat** — Global lobby chat via Phoenix Channels\n- [x] **Mobile Navigation** — Bottom nav with presence counter\n- [ ] **Matchmaking** — Elo-based pairing\n- [ ] **Tournament System** — Swiss-style brackets\n- [ ] **AI Bot** — Chess engine + LLM hybrid\n\n---\n\n## 👨‍💻 Developer\n\n**İlyas Bozdemir**  \nFull‑Stack Developer | React, .NET, Elixir, Docker  \n🔗 [GitHub](https://github.com/ilyasbozdemir) • [LinkedIn](https://www.linkedin.com/in/bozdemir-ilyas/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyasbozdemir%2Fchessgame-elixir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyasbozdemir%2Fchessgame-elixir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyasbozdemir%2Fchessgame-elixir/lists"}