Project Orange Box

The Codeigniter Application Framework

View project on GitHub

Welcome to Project Orange Box.

Project Orange Box or simply Orange is a application skeleton built on top of CodeIgniter. Orange itself includes no "view" files so you can use the framework and create a custom GUI for it or, use the Orange theme.

Built on CodeIgniter.

Orange is built on the rock solid CodeIgniter Framework. I have plans on having Orange support CodeIgniter 4 when it comes out. Most of all NO CodeIgniter "hack's" are needed. CodeIgniter is supported straight from the download.

Open Source.

Orange and it's packages are Open Source on GitHub.

Composer Recommended*.

In order to get the most from Orange, I recommend you learn a little composer. While composer isn't 100% needed since you can use the current snap shot. Unfortunately, it is only updated when i have time. Therefore to get the most from Orange learning composer will make adding, updating, removing packages and there requirements and versions easier!

* Not required but highly recommended

What is it exactly?

Orange is actually a collection of CodeIgniter libraries. It also includes a few "base" controllers and a few extra functions added to a few CodeIgniter helpers. It actually provides no views or url useable controllers. Thats where the theming and provided "orange theme" comes in. We didn't want to impose any design style on the developer. Therefore if you don't like the orange theme or it doesn't "fit" your style you can create or install another! Orange is just the CodeIgniter application skeleton everything else sits on. Of course I created many additional open source packages you can install as needed. Sorry only one admin theme thou . These are all loaded as "packages" and then loaded by the system in a HMVC fashion. Like CodeIgniter packages but including controllers.
I put together some videos over it's development.
In additional I put a few slides together so you can "see" what I'm talking about.

What do I need?

Officially, PHP 5.6+, Apache, MySQL are used in it's development. Originally we had unit testing with about 80% code coverage and could test on PHP 5.4 and 5.5. Since this is not used commercially (anymore) everything not open source had to be cut and the unit testing was one of those things (along with a few others).

What exactly do I get if I install this thing?

  1. Base controllers for Admin, Public, GUI (Admin & Public extend this), CLI (command line interface only controllers), Ajack (ajax only controllers).
  2. Controller "traits" so any controllers can use the same methods.
  3. Core extensions for controller, input, loader, model, output, router. Most of these add additional methods a few override CodeIgniter methods. These are extensions to the core classes extended using the CodeIgniter feature Extending Core Class therefore file hacks are not needed.
  4. a new index.php we change around 10 lines.
  5. Orange bootstrapper (setup a few things before calling Codeigniter.php in index.php).
  6. Additional functions added to the helpers array, date, directory, file, string.
  7. Libraries for authorization, events (inverse of hooks), package manager, validate (validation with extras), wallet (sessions with extras).
  8. Models for Database (base), access, menubar, package manager, role, settings, user.

Enough Chit Chat Let's get started?

I'll cover 3 ways to install this. I can't provide much help since this is a one person endeavor but I hope you still give a try.

What kind of developer are you?
I know composer and like to live on the edge That's me!
I don't know composer but want to give it a shot and set it up like you recommend I'll give it a shot
Can I download it like a regular zip and use that? Newbie