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

georgeguimaraes
Hi people, since the new year is coming, I’d like to plan my travels for events in 2017. So, what events (Elixir or FP related) that you...
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
AstonJ
I’ve noticed we’ve got a few now - wonder if we can compile a list? This is a wiki - anyone at Trust Level 1 can edit :023: Link: This...
New
blackode
This is a wiki - anyone at Trust Level 1 or higher can help keep it updated. Elixir Pocket Syntax Uncommon Logical stuff of Elixir modul...
New
gmile
:httpc HTTP client is part of Erlang standard library, and as such can be easily used in Elixir code too. One particular advantage of usi...
New
BartOtten
A wiki for Doom Emacs Doom is a configuration framework for GNU Emacs. It focuses on performance and customizability. It can be a founda...
New
jdumont
Guide Using an iPad for web development can be easily split into two main parts: Setting up the iPad as a thin client Working in a remo...
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
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

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
lk-geimfari
What is most correct way to open, read and parse JSON file with poison? For example if we have example.json file in root of some projec...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New

We're in Beta

About us Mission Statement