ScienceHack.com Search Engine for Science Videos
A brief article describing how I learned CakePHP, and how I development the first prototype of http://ScienceHack.com in a very short time.
The Problem:
I am an electrical engineer and I love watching online science videos. The problem is that online video sharing websites are full of low quality, inaccurate, spam and mislabeled videos.
The solution:
I decided to design a search engine for science videos where every video will be screened by a scientist or an engineer to verify the quality and accuracy of every video, making the experience of watching online science videos a pleasure.
The Framework:
I am not a very good Java Script developer so I used script.aculo.us and it made the experience much faster and less buggy. So learning a new framework for this project was a must to accelerate the development process. I had some experience with PHP, so using CakePHP was an easy decision especially after seeing some sample code and screen casts.
The Learning Process:
To learn CakePHP I read the online manual and implemented the blog exercise/code then I downloaded some sample projects from CakeForge and read them.
The Design:
It took me few hours to design the website and the database on paper. I implemented the database design in MySQL. Using the bake script; I created the first revision of ScienceHack.
What I Learned:
Learning and understanding the M/V/C architecture for the first time might be frustrating for some, but once you learned it, you can never go back.
CakePHP comes with many components; use them instead of writing your own.
CakePHP comes with a very powerful cache component. I cache every page on ScienceHack. I got Dugg, Reddit and Slashdot few times and ScienceHack never slowed down.
Conclusion:
CakePHP is a great framework for the following reasons:
Save development time using the M/V/C architecture and the bake script.
Save server resources using the cache component.
Increase security using the security component.
Add functionality very fast using custom components like RSS.
Very easy to learn using the online manual, active blogging community, lots of sample code from CakeForge, active group and lots of articles from the Bakery.
It took me about 10 hours to learn most of CakePHP including models, controllers and views.
It took me about 15 hours to learn how to use helpers (like pagination) and components (like security, java script and cache).
It took me about 25 hours to put together the first prototype of ScienceHack.
I am an electrical engineer and I love watching online science videos. The problem is that online video sharing websites are full of low quality, inaccurate, spam and mislabeled videos.
The solution:
I decided to design a search engine for science videos where every video will be screened by a scientist or an engineer to verify the quality and accuracy of every video, making the experience of watching online science videos a pleasure.
The Framework:
I am not a very good Java Script developer so I used script.aculo.us and it made the experience much faster and less buggy. So learning a new framework for this project was a must to accelerate the development process. I had some experience with PHP, so using CakePHP was an easy decision especially after seeing some sample code and screen casts.
The Learning Process:
To learn CakePHP I read the online manual and implemented the blog exercise/code then I downloaded some sample projects from CakeForge and read them.
The Design:
It took me few hours to design the website and the database on paper. I implemented the database design in MySQL. Using the bake script; I created the first revision of ScienceHack.
What I Learned:
Learning and understanding the M/V/C architecture for the first time might be frustrating for some, but once you learned it, you can never go back.
CakePHP comes with many components; use them instead of writing your own.
CakePHP comes with a very powerful cache component. I cache every page on ScienceHack. I got Dugg, Reddit and Slashdot few times and ScienceHack never slowed down.
Conclusion:
CakePHP is a great framework for the following reasons:
Save development time using the M/V/C architecture and the bake script.
Save server resources using the cache component.
Increase security using the security component.
Add functionality very fast using custom components like RSS.
Very easy to learn using the online manual, active blogging community, lots of sample code from CakeForge, active group and lots of articles from the Bakery.
It took me about 10 hours to learn most of CakePHP including models, controllers and views.
It took me about 15 hours to learn how to use helpers (like pagination) and components (like security, java script and cache).
It took me about 25 hours to put together the first prototype of ScienceHack.
Latest Comments