github

thechangelog / changelog.com

  • четверг, 27 октября 2016 г. в 03:14:30
https://github.com/thechangelog/changelog.com

Elixir
Hacker to the 💚



changelog.com

Read the announcement post!

What is this?

This is the CMS behind changelog.com. It's an Elixir application built on the Phoenix web framework, PostgreSQL, and many other great open source efforts.

Why is it open source?

A few reasons:

  1. We love open source. Our careers (and livelihoods) wouldn't be possible without open source. Keeping it closed just feels wrong.
  2. Phoenix is really great, but it's young enough in its lifecycle that there aren't too many in-production, open source sites for people to refer to as examples or inspiration. We want to throw our hat into that ring and hopefully others will follow.
  3. Changelog is a community of hackers. We know open sourcing the website will lead to good things from y'all (such as bug reports, feature requests, and pull requests).

Should I fork this and use it as a platform?

Probably not. We won't stop you from doing it, but we don't advise it. This is not a general purpose podcasting CMS. It is a CMS that is specific to Changelog and our needs. From the design and layout to the data structures and file hosting, we built this for us. An example of just how custom it is — we literally have our podcast slugs hardcoded in areas of the code. Yuck.

What is it good for?

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 when it's all wired together. It's not perfect by any means, but it works. And that's something. We've also been told that it is ridiculously fast.

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.

Can I contribute?

Absolutely! Please remember that we have a product roadmap in mind so open an issue about the feature you'd like to contribute before putting the time in to code it up. We'd hate for you to waste any of your time building something that may ultimately fall on the cutting room floor.

How do I run the code?

Assuming you're on macOS:

  1. ./script/setup
  2. mix ecto.create && mix ecto.migrate
  3. mix phoenix.server

Now visit localhost:4000 in your browser. You'll probably want some seed data, but we don't have any. (That'd make a good PR!)