Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
coderplanets.com
Discontinued coderplanets.com API(GraphQL) server, build with elixir, phoenix, absinthe
-
Plausible Analytics
Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
-
gen_retry
Discontinued Utilities for retrying Elixir functions, with configurable delay and backoff.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
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
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
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
Legendary
Bytepack
Changelog.com
Coderplanets
Papercups
Plausible
Deque
Filtrex
Memoize
Kandesk
Crawler
OPQ
Pow
Hex
- https://github.com/happycodrz/phoenix-apps
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.
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.
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: 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.
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.
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.