Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

General Discussion

Derrick Lee
Derrick Lee
7,743 Points

[PHP] Resources for developing CMS

Hi guys,

I have completed the deep-dive and all projects under PHP. Well, I may have skipped a few stages because it's not necessary as of now since i'm on a deadline.

I have my own online store running on WordPress CMS with WooCommerce to handle transactions for me. It's working pretty great with no problems for the past year but I will be developing a new CMS for my online store running on PHP.

Right now, I have a few relational tables set up, with more to come as I progress. The front-end of the website is done, retrieving products and product details from the relational tables using PDO.

There are many more stuff to implement into this project of mine before I can launch it, for example:

  • Add to Cart
  • Checkout Page [Pay with PayPal, or ATM Transfer]
  • Sending of Invoices etc
  • User's Account Page
  • + [View recent orders, change password, view details, change personal information, etc]
  • Admin's Page [Manage products, orders, reports, etc]

As you can see, there's ALOT of things to be done and I'm really excited to do it. I am confident of doing this with my prior knowledge and a bit of googling here and there. But what I'm really worried about is if I can do it the "right" way. Sure, I can have a lot of functions here and there but I'm sure there's a better way to do it such as using classes and methods.

I'm looking for suggestions/opinions/resources for me to expand my knowledge before I take on this difficult project I set for myself. Security is very important in the codes since it will be dealing with real transactions. I would also love to find a white hat hacker from treehouse to hack my project once it is done if that is possible!

2 Answers

Hello again Derrek,

There are a lot of resources and tutorials online that will teach you how to build a generic CMS system. Google is your friend. However, if you are thinking of building a complex CMS you are probably going to need to use OOP PHP for your task (like I explained in the other post I answered in the PHP section). Fortunately, by your list, you can build a simple CMS system that satisfies all of your requirements without having to use OOP PHP. I advise you on building these in modules; each modules satisfying one thing on your list. If you want your CMS to be purely yours without using any code from others, I'd advise you to look at tutorials online on how to build simple versions of what you want in your site. This way you can learn how to do things and build off of that. Depending on how you want everything to function will depend on how complex and long it'll take you to build your CMS. Just keep in mind that build a CMS will not happen over night. It may take weeks even months to build a working model and even then you will have to deal with bugs and workarounds. Building things is not as easy as this site may have you believe. All of the teachers have worked hard to build their models way before they build it for you on their screen-casts. Most of the time they've already fully built the site/application/etc before recording and all they are doing is building it again. My first step for you is to look online and watch some tutorials, take the code from them and break it down. From there do a step by step on how you want your site to function. I wish you all the luck in building a CMS for you business.

Cheers!

Wade Christensen
STAFF
Wade Christensen
Treehouse Teacher

Hi Derrick,

I agree with Shawn Gregory; building a CMS is a long process. I mostly work with Drupal, so that's my background with CMS work (some WordPress). If you're looking to build something that handles online transactions you need to be careful. I recommend looking into PCI compliance. It's not enough to just throw everything under SSL and call it good.

I would also take a dive into the Drupal documentation. You may want to build your own CMS, but looking at a module-based sophisticated CMS such as Drupal can be incredibly informative for your own work. When you see how other module developers have approached something it helps. Additionally, it's all open source, so you can play with the code all you like at no cost.

Hope this helps.