Complete, Production-Ready Phoenix Reference Applications

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

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • 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

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • oban

    💎 Robust job processing in Elixir, backed by modern PostgreSQL or SQLite3

    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

  • Revelo Payroll

    Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.

  • 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 pow-auth)

    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.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

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