{"id":28436490,"url":"https://github.com/exponentially/lora","last_synced_at":"2025-06-27T19:31:17.382Z","repository":{"id":293159056,"uuid":"983139277","full_name":"exponentially/lora","owner":"exponentially","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-18T16:26:14.000Z","size":1783,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T22:09:18.254Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","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/exponentially.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}},"created_at":"2025-05-14T00:08:11.000Z","updated_at":"2025-05-16T23:07:07.000Z","dependencies_parsed_at":"2025-05-14T02:21:08.282Z","dependency_job_id":"68379999-857e-4ff4-8fae-8ff7acf4a429","html_url":"https://github.com/exponentially/lora","commit_stats":null,"previous_names":["exponentially/lora"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/exponentially/lora","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exponentially%2Flora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exponentially%2Flora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exponentially%2Flora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exponentially%2Flora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exponentially","download_url":"https://codeload.github.com/exponentially/lora/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exponentially%2Flora/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262318962,"owners_count":23292986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-06-05T22:09:18.116Z","updated_at":"2025-06-27T19:31:17.375Z","avatar_url":"https://github.com/exponentially.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lora Card Game\n\nA real-time implementation of the Serbian card game Lora using Elixir and Phoenix LiveView.\n\n## About the Game\n\nLora is a 4-player card game played with a 32-card deck (7, 8, 9, 10, J, Q, K, A in all four suits). The game consists of 28 deals with 7 different contracts (Minimum, Maximum, Queens, Hearts, Jack of Clubs, King of Hearts plus Last Trick, and Lora), each played 4 times with different dealers.\n\n## Features\n\n- Real-time multiplayer gameplay with Phoenix LiveView\n- In-memory game state with GenServer\n- 7 different contracts with unique rules\n- Player reconnection support\n- Responsive design for desktop browsers\n\n## Requirements\n\n- Elixir 1.17 or newer\n- Phoenix 1.8 or newer\n- Phoenix LiveView 1.1 or newer\n- Node.js and npm for assets\n\n## Development Setup\n\n### Option 1: Local Setup\n\n1. Install dependencies:\n\n```bash\nmix deps.get\ncd apps/lora_web/assets \u0026\u0026 npm install \u0026\u0026 cd ../../..\n```\n\n2. Start the Phoenix server:\n\n```bash\nmix phx.server\n```\n\nNow you can visit [`localhost:4000`](http://localhost:4000) from your browser.\n\n### Option 2: Using Dev Containers (Recommended)\n\nThis project includes a dev container configuration for Visual Studio Code, which provides a consistent development environment.\n\n1. Install the [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension for VS Code.\n2. Open the project folder in VS Code.\n3. When prompted to \"Reopen in Container\", click \"Reopen in Container\".\n4. Once the container is built and running, the development environment is ready.\n5. Open a terminal in VS Code and start the Phoenix server:\n\n```bash\nmix phx.server\n```\n\n## Running Tests\n\n```bash\nmix test\n```\n\nFor test coverage:\n\n```bash\nmix coveralls.html\n```\n\n## Deployment\n\n### Using Docker\n\n1. Build the Docker image:\n\n```bash\ndocker build -t lora-game .\n```\n\n2. Run the container:\n\n```bash\ndocker run -p 4000:4000 -e PHX_HOST=your-domain.com lora-game\n```\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexponentially%2Flora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexponentially%2Flora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexponentially%2Flora/lists"}