Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

New project; need help.

I started Treehouse for two reasons: Because I'm unemployed and because I'm working on a project. The project will include an academy for Christian education, forums, a blog/news section, and a list of Christian resources. Let's say that I were to model my "academy" on the way Treehouse has structure their courses and rewarded my members with badges in the same way. I've only really spent my time working on design. I have no knowledge of development. Would I need to learn PHP to do this?

3 Answers

Jah Chaisang
Jah Chaisang
7,157 Points

Maximino,

Most complicated projects like Treehouse website would use Ruby on Rails. But if you are brand new to server-side programming, I think you should first learn PHP basics.

If you need blog and forum anyway, look into wordpress (php-based blog platform) and then bbpress (forum plugin for wordpress). Treehouse has courses on wordpress too. It will get you started on your project quickly, and then you can gradually learn to deal with the development side of wordpress (which will boost your php skills). Then, you can build a simple academy plugins for wordpress or bbPress. Or if you are ready at that point, do it yourself!

Aaron Walton
Aaron Walton
3,557 Points

I am wondering why you believe ROR would be a better choice than PHP for something like this?

Jah Chaisang
Jah Chaisang
7,157 Points

Well, Treehouse is actually built with Ruby on Rails (http://builtwith.com/teamtreehouse.com) so do codeschool.com and codecademy.com. I might be wrong to say that most complicated projects are built with RoR, because there are more sites out there that use PHP (and ASP).

There are tons of discussion on this forum about which one is better for what case. I just went through them last week. The general opinion seems to be that if you want to build small dynamic web thing you'll be fine with PHP. If you want to build scalable web application (like Treehouse), you need frameworks and RoR is probably the most popular choice.

Aaron Walton
Aaron Walton
3,557 Points

To create an academy like you are describing is a huge job. Unfortunately there isn't really a forum package that does a good job integrating content and gamification systems like you see here at Treehouse. And conversely, there really isn't a CMS that does a good job of integrating a forum and gamification schemes etc. I'm actually very surprised that a commercial software maker hasn't created such a system to sell.

As far as options available, I would look at using wordpress with a third party gamification script (for badges achievements etc), although I suspect only subscription based gamification is going to be any good. Vanilla forums has a nice badges and reactions features for it's commercial product and it integrates with wordpress to a degree, but it won't work like an "academy" as you described it. Plus its going to cost you at least $50 a month.

Very many thank yous to all who replied. =) I appreciate the responses.

Another question, if I may. What are the major differences between PHP and RoR? Exactly can I do with RoR that I can't do with PHP? What are the pros and cons of each? Just so I can get a better grasp of what you're all saying.

Jah Chaisang
Jah Chaisang
7,157 Points

Maximino,

PHP is a language, and RoR is a framework. There are frameworks for PHP too, many are similar to RoR but not as popular. RoR core has functionality that makes generating web application super easy. For example, with a single command line you can quickly generate a construct that deals with a specific class of data like badges or video transcript. (Wow, it's really hard to explain without using jargons). And because of its popularity, this means people have written gazillion modules, plugins, that you can just plug into your application. For example, if you want to have user authentication system, or if you want Sass to be compatible with your application, you can do it in a few lines. Not to mention that all your application codes are neatly organized and separated according to the main functionality it concerns (you'll learn this when you dive into the PHP project on Treehouse). At the same time, like you might imagine, the learning curve is steeper before you can do anything useful with it. Ruby is a more sophisticated language than PHP. And on top of it you have to learn Rails. So I don't recommend it for beginners.

Like I said, many PHP frameworks have these properties too. It doesn't mean you cannot do all these with PHP. I have no experience with them. But there are no consensus as to which framework is the best for PHP. As far as frameworks of this class go, to my limited knowledge, Rails are the most established.

Jah, you are quite helpful =) Thank you very much!