Skip to content

crowdint/blog.crowdint.com

Repository files navigation

blog.crowdint.com

Build Status Code Climate Test Coverage

Testing

  1. Copy example db:

     cp config/database.yml.example config/database.yml
    
  2. Start solr in the port required by the test environment:

     bundle exec sunspot-solr start -p 8981
    
  3. Running specs:

     bundle exec rake spec
    
  4. Running cucumbers:

     bundle exec rake cucumber
    

History

Welcome to our, kind of new, blog.

It was time. A rewrite for this site was due since last year. So, I decided to do something about it this weekend.

We were using Jekyll on our old version, and it was great! until it became too slow to compile once we reached around 60 posts and it was a bit frustrating, discouraging us from blogging.

Open Sourced

As we did with the old version, the code for this blog is open sourced. You will find it on its github page.

Rails 3.2.1

I know, even that there is probably a thousand blog services / gems / templates out there to set up a blog immediately, but, there was a couple of things I wanted to learn so, I decided to code it myself.

Really? Another Rails blog example

Well, yes. I know this is the example by choice when someone is trying to learn Rails, but I still wanted to open source it for the following reasons.

Maybe someone needs to take a look at how I implemented the post CRUD using Backbone.

Or take a look at how I used Devise with Google Apps login so only people with a @crowdint.com email account can access the backend.

Another interesting bit is how I was able to preprocess JST templates through slim and eco. WARNING: THIS MIGHT NOT BE A GOOD PRACTICE.

I am, by no means, an expert of what I just described. So, it is important for me that someone else takes a look at the code and let me know how to improve it.

Example, I know there's not enough tests in the code. I suck because I couldn't do follow the TATFT philosophy that I follow on "real life" applications. I lie to myself and think that it was because I really didn't know what I was doing, but, its still a lie. Promise to make up for that soon.

You won't see any Javascript tests because I don't have that much experience with those, but, I am sure that soon, one of my awesome teammates will write and commit those. That way, I'll be able to learn about it.

There's obviously still a lot to do, I would like to see a better post editor. I love Markdown, I want to try and find a JS WYSIWYG plugin that supports it. I would also love to move the backend to a Rails Engine so its more reusable. I'll work on all these items as time permits.

So, there you go. Yet another Backbone, Twitter Bootstrap, Devise, Slim, Rails 3.2 sample application.

Hope browsing through this code helps you learn something. Hope browsing through this code encourages to teach me something.

Issues and Pull requests are more than welcome.

About the Author

Crowd Interactive is a leading Ruby and Rails consultancy firm based in Mexico currently doing business with startups in the United States. We specialize in building and growing your existing development team, by adding engineers onsite or offsite. We pick our clients carefully, as we only work with companies we believe in. Find out more about us on our website.