{"id":13756005,"url":"https://github.com/ronanyeah/elm-phoenix-example","last_synced_at":"2025-05-07T09:34:33.362Z","repository":{"id":97194533,"uuid":"88850577","full_name":"ronanyeah/elm-phoenix-example","owner":"ronanyeah","description":"minimum elm + phoenix setup, with webpack","archived":false,"fork":false,"pushed_at":"2018-07-07T19:16:54.000Z","size":85,"stargazers_count":56,"open_issues_count":5,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T11:34:11.618Z","etag":null,"topics":["elixir","elm","functional-programming","phoenix","postgresql","webpack"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ronanyeah.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}},"created_at":"2017-04-20T09:58:44.000Z","updated_at":"2025-01-07T17:29:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba72c8cb-99d8-4381-9bd1-2b7111fc81a8","html_url":"https://github.com/ronanyeah/elm-phoenix-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Felm-phoenix-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Felm-phoenix-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Felm-phoenix-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Felm-phoenix-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ronanyeah","download_url":"https://codeload.github.com/ronanyeah/elm-phoenix-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252851636,"owners_count":21814185,"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":["elixir","elm","functional-programming","phoenix","postgresql","webpack"],"created_at":"2024-08-03T11:00:34.108Z","updated_at":"2025-05-07T09:34:33.327Z","avatar_url":"https://github.com/ronanyeah.png","language":"Elixir","funding_links":[],"categories":["Examples"],"sub_categories":["Other editors"],"readme":"__WARNING:__ I haven't been paying much attention to Phoenix lately so this repo is likely to be out of date.\n\n# Elm + Phoenix\n\nThis is a minimum setup for an Elm + Phoenix project, using webpack for bundling.\n\nThis is intended to be a teaching tool rather than a production boilerplate, therefore the webpack config is as small as possible, and there is only very basic Phoenix usage.\n\nThe Phoenix application has been named `Foo` to make it easy to identify where your application name is used.\n\n## REQUIREMENTS\n- [Elixir](http://elixir-lang.org/)/[Mix](http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html)/[Phoenix](http://www.phoenixframework.org/) ([Installation guide](http://www.phoenixframework.org/docs/installation))\n- [Node.js](https://nodejs.org/en/)/[npm](https://www.npmjs.com/) (Install using [nvm](https://github.com/creationix/nvm))\n- [Elm](http://elm-lang.org/) (`$ npm install --global elm`)\n- A [PostgreSQL](https://www.postgresql.org/) server running on your machine.\n\n## FEATURES\n__BACKEND:__  \nBasically just `$ mix phx.new foo --no-brunch`, with changes made to `./lib/foo/web/templates/layout/app.html.eex` and `./lib/foo/web/templates/page/index.html.eex` to load up the Elm app.  \n__FRONTEND:__  \nAll related files are found in `./assets`, including `package.json`, `elm-package.json` and `webpack.config.js`. Therefore `npm install` and `elm-package install` will have to be run from there.  \n__SCRIPTS:__  \nAs a convenience due to the location of `package.json`, I have added a custom mix task (`./lib/mix/npm.ex`) which allows the execution of `npm run` scripts from the project root using mix: `mix npm build`, `mix npm watch`, etc.\n\n## USAGE\n__INITIAL SETUP:__\n- `$ cd assets`\n- `$ npm install` (Gets npm dependencies)\n- `$ elm-package install` (Gets Elm dependencies)\n- `$ cd ..`\n- `$ mix deps.get` (Gets Phoenix dependencies)\n- `$ mix ecto.create` (Sets up database)\n\n__TO RUN:__\n- `$ mix npm build` or `$ mix npm watch`\n- `$ mix phx.server`\n- Visit http://localhost:4000.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronanyeah%2Felm-phoenix-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fronanyeah%2Felm-phoenix-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronanyeah%2Felm-phoenix-example/lists"}