{"id":18033905,"url":"https://github.com/phoenix-playground/phoenix_playground","last_synced_at":"2025-10-13T06:21:55.899Z","repository":{"id":230197951,"uuid":"778741130","full_name":"phoenix-playground/phoenix_playground","owner":"phoenix-playground","description":"Phoenix Playground makes it easy to create single-file Phoenix applications.","archived":false,"fork":false,"pushed_at":"2025-07-30T12:48:27.000Z","size":687,"stargazers_count":253,"open_issues_count":11,"forks_count":24,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-10-12T11:55:53.489Z","etag":null,"topics":["elixir","experiments","phoenix","prototyping"],"latest_commit_sha":null,"homepage":"https://hexdocs.pm/phoenix_playground","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/phoenix-playground.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2024-03-28T10:05:01.000Z","updated_at":"2025-10-11T06:33:01.000Z","dependencies_parsed_at":"2024-06-21T05:16:33.209Z","dependency_job_id":"7ed5e38d-a092-4a5e-b526-c18a1a468788","html_url":"https://github.com/phoenix-playground/phoenix_playground","commit_stats":null,"previous_names":["phoenix-playground/phoenix_playground"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/phoenix-playground/phoenix_playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenix-playground%2Fphoenix_playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenix-playground%2Fphoenix_playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenix-playground%2Fphoenix_playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenix-playground%2Fphoenix_playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phoenix-playground","download_url":"https://codeload.github.com/phoenix-playground/phoenix_playground/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenix-playground%2Fphoenix_playground/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013958,"owners_count":26085429,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"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":["elixir","experiments","phoenix","prototyping"],"created_at":"2024-10-30T11:08:53.641Z","updated_at":"2025-10-13T06:21:55.893Z","avatar_url":"https://github.com/phoenix-playground.png","language":"Elixir","funding_links":[],"categories":["Tools"],"sub_categories":[],"readme":"# Phoenix Playground\n\n[![CI](https://github.com/phoenix-playground/phoenix_playground/actions/workflows/ci.yml/badge.svg)](https://github.com/phoenix-playground/phoenix_playground/actions/workflows/ci.yml)\n[![Version](https://img.shields.io/hexpm/v/phoenix_playground.svg)](https://hex.pm/packages/phoenix_playground)\n[![Hex Docs](https://img.shields.io/badge/documentation-gray.svg)](https://hexdocs.pm/phoenix_playground)\n\nPhoenix Playground makes it easy to create single-file [Phoenix](https://www.phoenixframework.org) applications.\n\n## Examples\n\n[![Run in Livebook](https://livebook.dev/badge/v1/blue.svg)](https://livebook.dev/run?url=https%3A%2F%2Fgithub.com%2Fphoenix-playground%2Fphoenix_playground%2Fblob%2Fmain%2Fexamples%2Fdemo_live.livemd)\n\nCreate a `demo_live.exs` file:\n\n```elixir\nMix.install([\n  {:phoenix_playground, \"~\u003e 0.1.8\"}\n])\n\ndefmodule DemoLive do\n  use Phoenix.LiveView\n\n  def mount(_params, _session, socket) do\n    {:ok, assign(socket, count: 0)}\n  end\n\n  def render(assigns) do\n    ~H\"\"\"\n    \u003cspan\u003e{@count}\u003c/span\u003e\n    \u003cbutton phx-click=\"inc\"\u003e+\u003c/button\u003e\n\n    \u003cstyle type=\"text/css\"\u003e\n      body { padding: 1em; }\n    \u003c/style\u003e\n    \"\"\"\n  end\n\n  def handle_event(\"inc\", _params, socket) do\n    {:noreply, assign(socket, count: socket.assigns.count + 1)}\n  end\nend\n\nPhoenixPlayground.start(live: DemoLive)\n```\n\nand run it:\n\n```\n$ iex demo_live.exs\n```\n\n\u003cimg width=\"1195\" alt=\"image\" src=\"assets/demo.png\"\u003e\n\n\nSee more examples below:\n\n  * [`examples/demo_live.exs`]\n  * [`examples/demo_live_test.exs`]\n  * [`examples/demo_controller.exs`]\n  * [`examples/demo_controller_test.exs`]\n  * [`examples/demo_plug.exs`]\n  * [`examples/demo_router.exs`]\n  * [`examples/demo_hooks.exs`]\n  * [`examples/demo_endpoint.exs`]\n  * [`examples/demo_live_pubsub.exs`]\n\n## License\n\nCopyright (c) 2024 Wojtek Mach\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n[`examples/demo_live.exs`]: examples/demo_live.exs\n[`examples/demo_live_test.exs`]: examples/demo_live_test.exs\n[`examples/demo_controller.exs`]: examples/demo_controller.exs\n[`examples/demo_controller_test.exs`]: examples/demo_controller_test.exs\n[`examples/demo_plug.exs`]: examples/demo_plug.exs\n[`examples/demo_router.exs`]: examples/demo_router.exs\n[`examples/demo_hooks.exs`]: examples/demo_hooks.exs\n[`examples/demo_endpoint.exs`]: examples/demo_endpoint.exs\n[`examples/demo_live_pubsub.exs`]: examples/demo_live_pubsub.exs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoenix-playground%2Fphoenix_playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphoenix-playground%2Fphoenix_playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoenix-playground%2Fphoenix_playground/lists"}