sashaafm

sashaafm

Phoenix (wiki)

This thread exists to aggregate learning resources about the Phoenix framework.

Feel free to add links to blog posts, articles, screencasts, etc. to the Wiki (this post) as well as in a new post in the thread (so everyone else is alerted as well) :023:

Books

Programming Phoenix (Pragprog) - by @chrismccord, @josevalim and Bruce Tate

Guides

Running Elixir and Phoenix projects on a cluster of nodes - A guide on how to run a distributed Elixir app by Chris McCoord.

Deploying Phoenix Applications with Exrm - Learn what Exrm is, what it is useful for and how to use it by Brandon Richey

Creating a Game Lobby System in Phoenix with Websockets - See how Phoenix and Websockets can be used together to build a game lobby for users by Alex Jensen

Subdomains With Phoenix - How to create subdomains by Gary Rennie

Complete Guide to Deploying Phoenix Applications Using Dokku - See how Dokku can be used to deploy Phoenix applications by Praveen Perera

Starter templates

React-Phoenix-Starter-Template - A starter template for those looking to use React with Phoenix by Ryan Swapp.

Example Applications

GraphQL-Phoenix-RethinkDB - A starter template for those looking to use React with Phoenix by Adam Brodzinski.

Phoenix_Guardian - An example implementation of authentication in Phoenix using Überauth and Guardian by Daniel Neighman.

Openmaize-Phoenix - Examples of using Openmaize authentication / authorization library in a Phoenix web application by David Whitlock.

Phoenix-Toggl - Toggl tribute done with Elixir, Phoenix Framework, React and Redux by Ricardo García.

Phoenix-Trello - Trello tribute done in Elixir, Phoenix Framework, React and Redux by Ricardo García.

Rethinkdb-Phoenix-Example - A simple app demonstrating how to use RethinkDB in a Phoenix application by Ryan Swapp.

Static Markdown blog posts with Elixir Phoenix - Create a blog with Markdown support by Sebastian Seilund

Phoenix Battleship - Battleship game built with Elixir, Phoenix, React and Redux. Part of a blog series.

Building API’s

Build and test a blazing fast JSON API with Phoenix - Learn how Phoenix can be used to build a JSON API by Paul Smith
Building a Phoenix API - See an API for a market be built using Phoenix by Luiz Varela

Informative

Guts of Phoenix websocket channels - Phoenix channels and its use of Websockets explained by Zohaib Rauf

Ecto for Rails developers — The basics - A quick introduction of Ecto for Rails developers by Igor Šarčević

Elixir and Phoenix: The Future of Web APIs and Apps? - carbonfive.com

The difference between web and lib - The difference and meaning of the web and lib directories is explained by Chris Keathley

Presentation Slides

Practical Elixir, Through Phoenix

Phoenix Is Not Your Application by Lance Halvorsen - ElixirConf EU 2016

Most Liked

uranther

uranther

Phoenix Is Not Your Application

^ Slides from a presentation about modularity: Phoenix is merely an interface to your application. Love it!

AstonJ

AstonJ

Bit short, but just in case it’s of interest to anyone…

pdilyard

pdilyard

@uranther:

I really like this concept as well. Our current project at work uses a lot of GenServers and that part of the application is written exactly like those slides lay out.

However, our project also has a lot of typical CRUD operations that rely on a database, and that part of the codebase is written in a pretty typical MVC way. How would the ideas in those slides translate to an application where you are using a database? Would the dependency applications all connect to the database?

uranther

uranther

I would imagine it would it behave like that KV module in the slides. This module has functions which allow you to read/write/update the database (a rudimentary GenServer). If you made a module for the CRUD operations which encapsulate your database, then the Phoenix interface would not need to know what database you are using, and you would be able to swap out the DB without changing much code. I think you will still need some Ecto schemas for frontend CRUD, but I think this code will be separate from your core application logic. I would like to see a non-trivial example of this kind of architecture with Phoenix.

thinkpadder1

thinkpadder1

Found this blog post series: Building Phoenix Battleship

Edit: added it to the wiki.

Where Next?

Popular in Wikis Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
axelson
Preamble This Wiki is intended to be a community-maintained (see the Contribution Guidelines if interested) resource of common “gotchas” ...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
swelham
Introduction After some discussion with a few other members we thought it might be an idea to start a thread where we can post about libr...
New
Rich_Morin
I’d like to start a discussion of data serialization formats, in the context of Elixir. The rest of this note is a combination of persona...
New
AstonJ
Wonder if we can compile a list of learning resources, blog posts, talks, threads etc to help those who are just learning about Contexts....
New
nicbet
Introduction Now that the language is picking up support and maturing nicely, I’d like to start a collection of common and recurring Elix...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
blackode
Hi and Hello Every Elixirian. After Learning the Elixir basics, I struck then. I have no idea of how to put my Elixir Knowledge in pract...
New

Other popular topics Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement