As we promised in our relaunch announcement, this morning we open sourced the code that powers the new Changelog.com!
Don’t want the full rundown? Go star the source code on GitHub.
What it is
Why open source our website
Changelog.com isn’t a platform to build on, or a library — so why did we open source it? A few reasons:
- We love open source. Our careers (and livelihoods) wouldn’t be possible without open source. Keeping it closed just felt wrong.
- Phoenix is really great, but it’s still young. There aren’t very many in-production open source sites for people to reference as an example or inspiration. We want to throw our hat in the ring and hopefully others will follow.
- Changelog is a community of hackers. Open sourcing the website will lead to bug reports, feature requests, and pull requests. This means a better overall product for all to enjoy.
What it’s good for
Absolutely nothing! Oh, sorry, that’s war.
If you're building a web application with Phoenix (or aspire to), this is a great place to poke around and see what one looks like all wired together.Tweet
It’s not perfect by any means, but it works. And that’s something. We’ve also been told that it is ridiculously fast.
Here’s an incomplete list of features we’ve implemented that you might find useful:
- distinct Admin and Public pipelines
- admin CRUD with Semantic UI integration
- iTunes compatible (as well as vanilla) RSS Feeds
- passwordless logins
- comprehensive meta tag strategy
- persistent audio player
- rudimentary search API (coming to public site soon!)
- two asset build pipelines (thanks webpack!)
- Markdown processing (thanks Cmark!)
- 3rd party API access (thanks HTTPoison!)
- caching of 3rd party API responses (thanks ConCache!)
- file uploads and mp3 processing (thanks Arc!)
- pagination (thanks Scrivener!)
- transactional email delivery (thanks Bamboo!)
If you have questions about any of the code, holler @Changelog. Better yet, join the community where we have in-depth discussions about software development, industry trends, and everything else under the sun.
The source code doesn’t tell the full story. We’re working on a bunch of posts to share our experience building the site, including:
- Our take on working with Phoenix
- How we made the site so stinkin’ fast
- Why we chose to use Turbolinks
- Tools and services we relied upon along the way
In addition to that, the venerable Gerhard Lazu helped us set up a slick production deployment scheme using Ansible, Docker, and Concourse CI. Gerhard has a series of posts in the works that will break down that process and what came of it. Who knows, maybe some more open source will come from it.