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.
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 17 6 — a two-player fighting game written in Elm.
Vessel 25 6 - A "tunnel" game written in Elm!
Sliding Puzzle 47 1 - Configurable sliding puzzle game written in Elm.
TodoMVC 832 297 - Proper implementation of the TodoMVC app.
TodoMVC with JSON API 4 1 - Bare-bones, modular, heavily-documented todo app with JSON API persistence.
TodoMVC/Firebase 50 8 - Fork of TodoMVC demonstrating start-app, The Elm Architecture 4k 899 and Firebase as backend.
27 3 – Minimal example of a custom element.
Elm Playground - Tiny Elm projects implemented for the sake of learning by example.
TodoMVC in Electron 69 18 - Documented and tested implementation of the Elm TodoMVC app in Electron.
Gipher 215 15 - A Tinder-like application for gifs built with elm and firebase!
Elm Architecture in Android 37 6 - An example Android application implemented with the Elm Architecture using the Kotlin programming language and Anko library.
Collection of examples 112 6 - A collection of examples with advanced techniques for real-world Elm apps.
Elm Flatris 225 30 - A Flatris clone in Elm language v0.18.
Elm + Phoenix + Webpack - A minimal Elm + Phoenix setup, using webpack instead of Brunch.
Elm SPA Example - Full stack Elm app w/ CRUD operations, Auth, routing, pagination and more. Code 1k 112 / Article
Spotify Mapper - Elm app integrated with Spotify Api to search and explore new artists.
Elm Hangman - The game of Hangman written in Elm.
Pokelmon - Elm project consuming PokéAPI.
JWT auth with Django + Elm - JSON Web Token (JWT) authentication using Django (backend) and Elm (frontend).
Bitcoin BR Chrome Extension - Chrome extension built in Elm that shows the bitcoin value in all Brazilian exchanges.
Elmstagram 3 1 - Basic UI Clone of Instagram / Articles - Part 1 Part 2 Part 3
Kanban Board in Elm - A kanban board (trello-alike) built with Elm and HTML5 Drag & Drop API
⬆️ 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
Languages
QML You can use .js files to create native desktop and phone applications for all platforms with GPU acceleration and easy to code animations.
Libraries
Useful helpers to build apps.
core 1k 378 - Elm Core Libraries.
html 244 75 - Use HTML in Elm, based on the idea of a "virtual DOM".
288 47 - A unit testing framework for Elm.
elm-router 109 14 - Easy routing in Elm.
http 58 28 - Make HTTP requests in Elm.
elm-http-builder 84 10 - Build and handle JSON requests more naturally than with low-level elm-http.
elm-console 55 15 - Elm library to read and write to the console in Node.
lazy 13 4 - Lazy Evaluation in Elm.
elm-ui 568 33 - UI Library in Elm.
elm-mdl 752 128 - Material Design component library in Elm. With demo .
elmfire 188 13 - Use Firebase as backend. For higher level API: 15 2 .
elm-bootstrap 152 33 - Comprehensive Bootstrap 4 library for Elm. Docs site .
elm-vega 66 3 - Declarative visualization for Elm (Vega /Vega Lite integration)
⬆️ back to top
Tools
Tools around Elm platform.
elm-compiler 4k 388 - Compiler for the Elm programming language.
elm-make 132 63 - A build tool for Elm projects.
elm-reactor 395 83 - Interactive development tool that makes it easy to develop and debug Elm programs.
elm-live 363 19 - A flexible dev server for Elm. Live reload included!
elm-repl 156 47 - A REPL for Elm.
elm-package 172 75 - CLI to share Elm libraries.
elm-format 837 98 - Automatic Elm code formatter adhering to Elm Style Guide .
grunt-elm 18 10 - Grunt plugin that compiles Elm files to JavaScript.
elm-webpack-loader 269 42 - Webpack loader for the Elm programming language.
servelm - A project enabling server-side use of Elm.
elm-oracle 128 10 - Query for information about values in elm source files. Used by most editor plugins.
html-to-elm - Convert HTML to Elm Html. Useful when porting an app to Elm.
elm-instant - atom package to try your elm code from the editor. Provides a visual REPL and a preview pane.
elm-analyse 191 19 - Linter for the Elm programming language.
run-elm 4 1 — Run Elm code from the command line
type-o-rama 23 2 - JS type systems interportability.
⬆️ back to top
Editor plugins
Tools to support Elm in code editors.
atom-linter-elm-make - Elm code linter for the Atom editor.
atom-elm-snippets 7 2 - Elm snippets for Atom.
atom-language-elm - Syntax highlighting and autocompletion for the Atom editor.
elmjutsu - Autocompletion, go to definition, find usages, rename symbol, etc. for the Atom editor.
atom-elm-navigator - A side panel that helps to navigate to any function, type definition or port in your project.
emacs-elm-mode 227 53 - Syntax highlighting, Elm REPL, Elm make and Elm format integration for the Emacs editor.
elm-light-table 116 5 - Syntax highlighting, REPL, autocompletion, package management and much more for Light Table.
Elm Language Support - Syntax highlighting, REPL, autocompletion, and more for Sublime Text 2 and 3.
Elm-vim - Elm mode for vim.
vim-elm-help - Offline Elm documentation access in your editor.
emmet-vim 4k 372 - Markup expansion with elm support.
elm-plugin - Elm plugin for IntelliJ IDEA.
Elm Visual Studio Code Support - Syntax highlighting, Snippets, Function information, REPL, Reactor support (Webserver/Debugger) - Starting/Stopping
Elmmet: Emmet for Elm (Visual Studio Code) - Emmetio abbreviation expander into composition of Elm function with elm-format'er inside.
HTML to Elm for Visual Studio Code - VSCode plugin to convert HTML to Elm
⬆️ back to top
Package managers
Place to share Elm libraries.
elm-package 172 75 - Command line tool to share Elm libraries.
⬆️ back to top
Boilerplates
Good starting point for a new Elm project.
elm-webpack-starter 571 98 - A simple Webpack setup for writing Elm apps.
elm-app-boilerplate 100 28 - A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.
elmkit 37 5 - A lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests.
elm-boilerplate - A simple Makefile able to create Elm app.
create-elm-app 787 95 - Create Elm apps with no build configuration.
elm-init 10 2 - Interactive setup for new Elm projects.
elm-new 58 2 - Generate initial project scaffolding based on a template.
⬆️ back to top
Misc
Everything that you need to see.
Elm Search - Search Elm documentation for operators, function signatures, etc.
Try Elm - Write and compile elm code online!
404 Elm Street 142 8 - A fun WebGL game built with Elm.
Debug Elm - Debug elm code online.
Haskell to Elm 56 6 - Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.
runelm.io - A place to share and run Elm code.
Ellie - The El m Li ve E ditor
Online REPL - The ELM Online REPL
⬆️ back to top
Support
Where to find help.
Mailing list - Google discussion group.
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.
⬆️ 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
To the extent possible under law, @isRuslan has waived all copyright and related or neighboring rights to this work.