Complete, Production-Ready Phoenix Reference Applications

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/elixir

Our great sponsors
  • Paraxial.io - Bot detection and prevention for Elixir/Phoenix applications
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • joken

    Elixir JWT library

    For auth, I'd look at the built-in auth generator. If you need to add JWT things, joken and/or guardian can probably meet your needs. Queues are an interesting use case. For one thing, longer response time are typically much less of an issue Phoenix, than with something like Rails or Django, because it can handle many times more simultaneous requests. In Rails, I would have thrown email sending into a job queue, so the request isn't blocking other request. In Phoenix, I may just send the email in the context

  • guardian

    Elixir Authentication

    For auth, I'd look at the built-in auth generator. If you need to add JWT things, joken and/or guardian can probably meet your needs. Queues are an interesting use case. For one thing, longer response time are typically much less of an issue Phoenix, than with something like Rails or Django, because it can handle many times more simultaneous requests. In Rails, I would have thrown email sending into a job queue, so the request isn't blocking other request. In Phoenix, I may just send the email in the context

  • Paraxial.io

    Bot detection and prevention for Elixir/Phoenix applications. Paraxial.io is bot detection and prevention for Elixir/Phoenix applications. Dealing with scrapers, card cracking, or credential stuffing? We take care of that.

  • oban

    💎 Robust job processing in Elixir, backed by modern PostgreSQL

    Enter Oban, which leverages Postgres' notify/listen functionality to provide a durable queue. Oban is solid and doesn't require Redis, which is cool. I end up using this in most projects I work on. If you absolutely need the speed of Redis, Exq is a pretty good option.

  • elixir-boilerplate

    ⚗ The stable base upon which we build our Elixir projects at Mirego.

    Elixir Boilerplate

  • legendary

    Legendary

  • bytepack_archive

    Archive of bytepack.io

    Bytepack

  • changelog.com

    Changelog is news and podcast for developers. This is our open source platform.

    Changelog.com

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • coderplanets.com

    coderplanets.com API(GraphQL) server, build with elixir, phoenix, absinthe

    Coderplanets

  • Papercups

    Open-source live customer chat

    Papercups

  • Plausible Analytics

    Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.

    Plausible

  • deque

    Fast bounded deque using two rotating lists. (by discord)

    Deque

  • filtrex

    A library for performing and validating complex filters from a client (e.g. smart filters)

    Filtrex

  • memoize

    A method caching macro for elixir using CAS on ETS.

    Memoize

  • kandesk

    Simple Kanban application written in elixir using phoenix liveview

    Kandesk

  • Crawler

    A high performance web crawler / scraper in Elixir. (by fredwu)

    Crawler

  • opq

    Elixir queue! A simple, in-memory queue with worker pooling and rate limiting in Elixir.

    OPQ

  • Pow

    Robust, modular, and extendable user authentication system (by danschultzer)

    Pow

  • hexpm

    API server and website for Hex

    Hex

  • phoenix-apps

    - https://github.com/happycodrz/phoenix-apps

  • gen_retry

    Utilities for retrying Elixir functions, with configurable delay and backoff.

    The second option for out-of-band processing would be a Task or if you want retry logic GenRetry. The primary downside here is that task isn't distributed, so if the server that's trying to run or retry this task goes away, there's nothing to pick it back up and try again.

  • exq

    Job processing library for Elixir - compatible with Resque / Sidekiq

    Enter Oban, which leverages Postgres' notify/listen functionality to provide a durable queue. Oban is solid and doesn't require Redis, which is cool. I end up using this in most projects I work on. If you absolutely need the speed of Redis, Exq is a pretty good option.

  • ex_aws

    A flexible, easy to use set of clients AWS APIs for Elixir

    AWS: I don't have a definitive answer for you on AWS. I've used ex_aws a good bit, and it's reasonably solid. aws-elixir also seems to be actively maintained.

  • aws-elixir

    AWS clients for Elixir

    AWS: I don't have a definitive answer for you on AWS. I've used ex_aws a good bit, and it's reasonably solid. aws-elixir also seems to be actively maintained.

  • Keila

    Open Source Newsletter Tool.

    Hey there, feel free to check out my project [Keila](https://github.com/pentacent/keila) which is an email newsletter tool which I aim to build with Elixir best practices in mind.

  • shlinked

    An open-source satirical social network. shlinkedin.com

    I’m still learning as well, but I found shlinked_in to be a pretty full-sized app that could be worth looking into. I don’t know enough to know how idiomatic the code base is for use as a reference, but it’s basically a clone of LinkedIn, so it’s a pretty large app.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts