Welcome Guest, Not a member yet? Register   Sign In
Is CI Scalable? Startup needs advice!
#2

[eluser]ivantcholakov[/eluser]
Two years ago I faced a project written on CodeIgniter that was about fail remarkably. It was a system that every year, within a month period, should accommodate about 8000 students to rooms in a university campus. Well, in urgen manner we did the job somehow, this year we will do it smoothly. Negative experience is not always a bad thing, so I am going to share it with you.

What were the causes of our problems?

1. We underestimated complexity of the project. The plan and the shipment date were unrealistic.
2. It is very important how code starts from the beginning and who does it. In our case a unexperienced developer started the project alone, without our assistance. It is not him to blame, it is us.
3. There was not practice for code reuse in our place.
4. As a result, the design of the URL's, the matching controllers, the models, helpers were a total mess.
5. There was business logic within the views, oh dear. I saw lack of understanding, or negligence of the MVC pattern and other good programming practices.
6. Poor and messy database design (this was the most painful problem).
7. Fragmentary specification, provided by the customer.

So, it was not CodeIgniter to blame, it was us to. :-)

On the point: Your question maybe does not lead to the right answer. The PHP framework choice is just one of the factors that may bring you to success. You have to have the idea, what the whole system's architecture should be. Scalability IMO may have two major aspects: about business logic complexity and, on the other hand, how big data is (you have mentioned "a large number of users").

Aspect 1, business logic complexity: CodeIgniter alone is not good enough. You need the third party "Modular extensions", so you could modularize your application and if you need to - to use the HMVC pattern.

Aspect 2, how big data is: CodeIgniter would not be a problem IMO. You can use its query builder, or in some places that need optimization you may pass SQL queries directly (but use proper escaping for avoiding SQL injections). For big data don't use ORM.

CodeIgniter is just a PHP framework, but on top of it, for real-life business, you need some kind of a starter (empty) site that you can reuse every time you start a new project. Such a suggestion is valid for many other PHP frameworks too.

I use my own starter site (see my list of built-in technologies), on GitHub you may find some other starters too. Or you may build yours one. It is a matter of some research.


Messages In This Thread
Is CI Scalable? Startup needs advice! - by El Forum - 07-31-2013, 02:51 AM
Is CI Scalable? Startup needs advice! - by El Forum - 08-01-2013, 01:34 PM
Is CI Scalable? Startup needs advice! - by El Forum - 08-04-2013, 03:45 PM



Theme © iAndrew 2016 - Forum software by © MyBB