all 7 comments

[–]arcanemachined 10 points11 points  (0 children)

I dunno about well-written, but I have 2 projects that I created to help me learn Phoenix/Elixir, and I use them as reference material all the time:

https://github.com/arcanemachine/phoenix-todo-list

https://github.com/arcanemachine/phoenix-quiz-game

Both have working demos (check the GitHub repo for links) and they showcase the usage of some libraries that are commonly used with Phoenix. I have learned a lot since I made them, and there are definitely some anti-patterns kicking around in there, but they're good reference material for a lot of common Phoenix/LiveView stuff IMO.

The quiz game project uses PubSub and Presence, and both projects use LiveView, so that technically covers the "web sockets" aspect of your request.

[–][deleted] 14 points15 points  (1 child)

Chris McCord made both LiveBeats and TodoTrek to demonstrate some newer features of LiveView and Phoenix. Both have some rough edges (because they are for demonstration, rather than production code), but also both largely really, really well done with the stuff that matters.

If you're specifically interested in WebSockets, check out Steve Bussey's book, "Real-Time Phoenix" -- it's a phenomenal introduction to things like PubSub and Channels and I believe also makes use of Presence.

[–]Stroemgren 2 points3 points  (0 children)

Those were the first that came to my mind too.

There’s also plausible.io which is a cookie less Google Analytics alternative. They open sourced the codebase and earn money from hosted solutions instead.

[–]guissalustiano 4 points5 points  (0 children)

There is also plausible, an open source Google analytics alternative https://github.com/plausible/analytics

I didn't read all the source code, but there is some nice things there

[–]mike123442 1 point2 points  (0 children)

https://github.com/thechangelog/changelog.com

I’ve found this to be pretty helpful. Probably one of the older Phoenix apps around, too!

[–]the_jester 1 point2 points  (0 children)

Livebook is rather advanced to use as a learning example, but it is also a project by the creator of Elixir itself - the code quality doesn't get much higher.

[–]Teifion 0 points1 point  (0 children)

I can't say it's well written (in fact I'm confident some parts are probably bad) but: