/awesome-elm

A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. :rocket:

Awesome Elm

A community driven list of useful Elm tutorials, libraries and software.

Inspired by the awesome list thing. Feel free to improve this list.

Awesome Build Status

Table of Contents

Examples

Some good apps written in Elm.

  • Official list - Examples from basic to big-project in official website.
  • Builtwithelm - Web site built with elm with list of projects and apps built with Elm.
  • Elm Joust — a two-player fighting game written in Elm.
  • Tetris — A Tetris game for the web browser written in Elm.
  • Vessel - A "tunnel" game written in Elm!
  • Sliding Puzzle - Configurable sliding puzzle game written in Elm.
  • TodoMVC - Proper implementation of the TodoMVC app.
  • TodoMVC with JSON API - Bare-bones, modular, heavily-documented todo app with JSON API persistence.
  • TodoMVC/Firebase - Fork of TodoMVC demonstrating start-app, The Elm Architecture and Firebase as backend.
  • <elm-ement> – Minimal example of a custom element.
  • Elm Playground - Tiny Elm projects implemented for the sake of learning by example.

⬆️ back to top

Learn

Learn what this awesome thing is.

⬆️ back to top

Articles

Read the essentials. Check the official Elm blog: elm-lang.org/blog

⬆️ back to top

Videos

Watch great talks about Elm

⬆️ back to top

Podcasts

Listen to podcasts about Elm

⬆️ back to top

Libraries

Useful helpers to build apps.

  • elm-core - Elm Core Libraries.
  • elm-html - Use HTML in Elm, based on the idea of a "virtual DOM".
  • elm-test - A unit testing framework for Elm.
  • elm-router - Easy routing in Elm.
  • elm-http - Make HTTP requests in Elm.
  • elm-http-extra - Build and handle JSON requests more naturally than with low-level elm-http.
  • elm-console - Elm library to read and write to the console in Node.
  • Lazy - Lazy Evaluation in Elm.
  • elm-ui - UI Library in Elm.
  • elm-mdl - Material Design component library in Elm. With demo.
  • elmfire - Use Firebase as backend. For higher level API: elmfire-extra.

⬆️ back to top

Tools

Tools around Elm platform.

  • elm-compiler - Compiler for the Elm programming language.
  • elm-make - A build tool for Elm projects.
  • elm-reactor - Interactive development tool that makes it easy to develop and debug Elm programs.
  • elm-repl - A REPL for Elm.
  • elm-package - CLI to share Elm libraries.
  • elm-init - Interactive setup for new Elm projects.
  • elm-format - Automatic Elm code formatter adhering to Elm Style Guide.
  • grunt-elm - Grunt plugin that compiles Elm files to JavaScript.
  • elm-webpack-loader - Webpack loader for the Elm programming language.
  • servelm - A project enabling server-side use of Elm.
  • elm-oracle - Query for information about values in elm source files. Used by most editor plugins.

⬆️ back to top

##Editor plugins

Tools to support Elm in code editors.

⬆️ back to top

Package managers

Place to share Elm libraries.

  • elm-package - Command line tool to share Elm libraries.

⬆️ back to top

Boilerplates

Good starting point for a new Elm project.

  • elm-webpack-starter - A simple Webpack setup for writing Elm apps.
  • elm-app-boilerplate - A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.

⬆️ back to top

Misc

Everything that you need to see.

  • Try Elm - Write and compile elm code online!
  • 404 Elm Street - A fun WebGL game built with Elm.
  • Debug Elm - Debug elm code online.
  • Haskell to Elm - Collection of examples on places where Elm is different to Haskell, targetted at Elm beginners coming from Haskell backgrounds.
  • elmflux - Visualization of Elm Signals.

⬆️ back to top

Support

Where to find help.

  • Mailing list - Google discussion group.
  • SHARE-ELM - Share your code snippets, authorize with github gist.
  • Reddit - Elm board on reddit.
  • IRC - Ask questions on elm freenode.
  • Slack - Elm slack community.

⬆️ back to top

Who to follow

Follow for fresh updates for free. Use #elmlang or #elm hashtag.

Official Elm Evan Czaplicki Richard Feldman Noah Hall

⬆️ back to top

More awesome

Discover other amazingly awesome lists.

Awesome Elm is just a part of awesome thing, get more here:

⬆️ back to top

License

CC0

To the extent possible under law, @isRuslan has waived all copyright and related or neighboring rights to this work.