CodeIgniter is the brainchild of Ellis Labs and one of the more popular PHP frameworks available. It's gained a reputation as a lean, mean, easy-to-learn framework that anyone comfortable with PHP can get up and running with in a few days.CodeIgniter is fixin' to blow up even more with the release of ExpressionEngine 2.0, currently in Beta, which is built on top of the CodeIgniter framework. Sounds great and all, but ExpressionEngine ain't cheap...$299 for the commercial version...so while you sit around wondering if ExpressionEngine is a CMS you want to get in to, why not get familiar with it's CodeIgniter foundation using these 802 77 totally free scripts, addons and tutorials?
Free/Open Source CodeIgniter Scripts
- BackEndPro: BackEndPro is a control panel for developers written in PHP for the CodeIgniter framework. It provides the beginnings of a solid CMS for those wanting to build their own without the need to reinvent the wheel. Authentication, permissions, and basic look and feel for a back end control panel are already done for you, so you have more time to focus on building your empire.
- BambooInvoice: BambooInvoice is free, open source invoicing software intended for small businesses and independent contractors. It features well-formed XHTML, Ajax, multiple languages, and did I mention it's free?
- Classroombookings: Classroombookings is a free, open-source, easy-to-use room booking system for schools built on CodeIgniter. It features lockouts to prevent double-bookings, unlimited rooms and users, and a custom timetable.
- ExciteCMS: If ExpressionEngine's $299 price tag has you down, ExiteCMS is a completely free content management system built on CodeIgniter. It's still in it's "Alpha 2" release, but looks pretty promising.
- PyroCMS: This CMS is a treat. Excellent code, and a very simple layout resembling ExpressionEngine 1.0 in many ways. It's lightweight and, because it's built on CodeIgniter, is easily expandable.
- Kohana: This isn't a script, but a framework branch of CodeIgniter that solves a number of its shortcomings. Check out Onwired's blogfor a great summary of these shortcoming, but some of the highlights are:
- Strict PHP 5 OOP code structure
- Better use of modules
- Cascading architecture
- Adds an ORM library to help with building database-driven applications
- Makes writing libraries a bit simpler
- Ionize CMS: Ionize is a content management system built on the CodeIgniter framework designed with one thing in mind: flexibility. Utilizes a template engine to make things a little more simple for the designers out there.
- Linkster Link Directory: Linkster is a link directory script built with CodeIgniter. Check out the demo at the Linkster site for an example of it's use.
- MyClientBase: MyClientBase is another open source invoicing script developed for freelancers.
- MyFina: MyFina is a personal financial management system. They offer a hosted demo on the website and if you like what you see you can download the source and install it on your own server.
- 68kb: 68kb is a knowledge base script featuring unlimited categories, search-engine friendly URLs, a glossary of terms, comments, attachements and a stats package. The demo is a bit lacking so you'll be better off downloading the source to give it a try.
- CIMyAdmin: CIMyAdmin is meant to act as a replacement to phpMyAdmin for database management. CIMyAdmin claims to be a cleaner, faster, better and stronger MySQL admin tool. It's lightweight, secure and skinnable.
- Sweetcron: Sweetcron is a self-hosted lifestreaming application that supports themes & plugins. That basically means it's a simple blog that's really, really easy to update. You can check out the developers' lifestream for an example at http://yongfook.com/.
- Unravel The Music Clone: Unravel The Music, according to the author, is a music lyric website built on the CodeIgniter framework that was closed down when the supplier of lyrics went out of business; so the developer released the source for free. It features, user activity feeds, journals, blogs, most discussed lists, user karma system, APIs, memcache integration, user profiles, file uploading, artist/album/song tagging, amazon integration, issue reporting, and a bit more. Seems like it could be a great starting point for someone looking to build this kind of site.
- Vunsy: Think of Vunsy as a website Kernel, used as the foundation for building a complete web application. It includes Dojo, KFM Ajax for image resizing and code editor, a data mapper for ORM, an online CRUD system, unlimited pages and subcategories, advanced permissions, and a package manager.
- W-Script: W-Script is a relatively mature script for managing wall paper websites.
- Rapyd Framework: Another website building-block framework built to extend CodeIgniter's existing features.
- Update 3/1/2010: Although still under active development, this project is no longer compatible with CodeIgniter.2
- Update 2/3/2011: Just received a note from the project's author, stating, "I just want to inform that Rapyd is again compatible with CI"
Plugins, Modules & Libraries
- Ajax Pagination with jQuery: Ajax Pagination library extends the core CodeIgniter pagination with Ajax via jQuery.
- CKEditor Helper: Helper/tutorail to integrate CKEditor WYSIWYG text editor with your CodeIgniter application
- CURL Library: Makes using CURL with CodeIgniter a bit easier
- DataMapper: An Object Relational Mapper designed to map your database tables into easy-to-work-with objects, fully aware of the relationships between each other.
- DB Session: Replaces CodeIgniter's session handler to allow session data to be stored in the database rather than as cookies. This is a great addon that some think should have been a part of the CodeIgniter core.
- Digg Style Pagination: Adds features to pagination to allow the user to sort based on data values, select the number of records to display per page and other handy features.
- Excel Plugin: A simple plugin that will generate a tab-delimited file and send it to the client as an Excel file.
- Filters System: A plugin that allows you to execute code before, after, or "around" a controller, modifying a controller's execution path without modifying the controller itself.
- FormIgniter: Simplifies form generation. Gives user the ability to enter form information into a GUI. Once entered, FormIgniter will output model, view and controller files. Also creates a SQL file to ease the creation of database tables to house form data. You can see a working example at the project website.
- FreakAuth: No longer actively maintained**: An authentication library for CodeIgniter
- Geo Location By IP: A simple plugin that adds support for IPInfoDb.com's geo-location XML API.
- Asset GZip-Cache Serve: A helper to aid in serving cached asset files (js, css, jpg, png, etc) and hiding full asset paths in HTML.
- HTML Purifier – Code Igniter Plugin: Integrates the HTML Purifier framework into CodeIgniter for advanced user input sanitization.
- HTMLTable: A library that simplifies the creation of HTML tables.
- jQuery Ajax Helper: Helps simplify common Ajax tasks in CodeIgniter using jQuery
- Language Packs: Add support for Arabic, Bashkir, Basque, Bulgarian, Chinese, Czech, Danish, Dutch, French, Galician, German, Hungarian, Italian, Japanese, Korean, Latvian, Persian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swedish, Turkish, Ukranian and Vienamese.
- Microformats Plugin: Adds ability to easily output data to hCard or Rel-license formats.
- Native Session Plugin: Enhanced session handling. Features include:
- Protection against cookie fixation by regenerating cookie IDs automatically after a specified time period
- Can use all available PHP session storage drivers (database, memcache, etc)
- "Flash" session attributes allows sessions to be created to only persist through the next request
- Compatible with CI_Session class
- Adds charting functionality to CodeIgniter using the GD library. Includes the following features:
- Supports bars, lines, dots, areas, steps and impulse charts
- Supports multiple series plots on a single image
- Supports automatic scaling of plot area by axis labels size
- Small output filesize
- PDF Generation Using DomPDF: Easy-to-use plugin that adds on-the-fly PDF generation
- CI Swift Mailer: Adds support for Swiftmailer PHP email script (http://swiftmailer.org/)
- Random Plugin** This plugin has been superseded by the random_string() function: Generates a random string of a specified length. Useful for random password generation.
- reCaptcha 2 Library: Adds support for reCaptcha
- Redux Auth Now Ion Auth: Thanks to Phil Sturgeon** for the correction on this one. Redux Auth is out of date and has been picked up by Ben Edmunds under the name Ion Auth.
- Shortify Plugin No longer online?: URL shortener for use with TinyURL, Tr.im, is.dg or U.nu APIs
- Tank Auth: Authentication library based on DX Auth that cleans up some of DX Auth's security flaws and makes authentication a bit simpler for the developer.
- Twitter API Library: Acts as an inteface between CodeIgniter and the Twitter API.
- UPS Rate Tool: Get shipping rates from the UPS API with this library.
- URL Redirectors No longer online, but here's a tutorial.: Although the demo site appears to be down, this plugin simplifies URL shortening so you can run your own Bit.ly.
Text Tutorials
This is 7 tutorials in one, although the title would have you think otherwise. Topics include:
- Autoloading models PHP5-style
- Preventing model-controller name collisions
- Form validation for unique values
- Running CodeIgniter from the command line
- Adding Doctrine ORM to CodeIgniter
- Running multiple sites from a single CodeIgniter install
- Allowing all file types for uploads
- Making CodeIgniter's Profiler AJAX Compatible: Helps to solve issues with profiling AJAX applications in CodeIgniter *
- Easy AJAX Post with jQuery and CodeIgniter*
- Using jQuery to Manipulate Data returned by Controller Method*
- Build an RSS 2.0 Feed
- Helpers, Plugins & Libraries: How to integrate external code into CodeIgniter as a helper, plugin or library. Also goes into a bit of detail on which of the three to choose and when. Uses Google's Graph class as an example.
- Integrating OpenFlashCharts
- Setting Up Multiple Sites on One Install
- Create an Event Calendar Using CodeIgniter and jQuery
- Create a File Hosting Site with CodeIgniter
- Creating an AJAX ToDo List
- How to Build a Shopping Cart Using CodeIgniter and jQuery
- How to Update Your Twitter Status
- CodeIgniter and SimplePie: Library to use SimplePie within your CodeIgniter application
- Textile Markup: Shows you how to integrate the Textile markup language for use in your CodeIgniter applications.
- CodeIgniter + Smarty: CodeIgniter doesn't use a template engine for performance reasons, but if you're into Smarty, this tutorial shows you how to get it integrated.
- Working with RESTful Services in CodeIgniter: Shows you how to create a RESTful API for your own applications and how to interact with other RESTful services like Facebook and Twitter.
- Twitter-Like Pagination Using CodeIgniter and jQuery: Simple AJAX pagination Twitter-style!
- CodeIgniter User Guide: Of course no set of tutorials would be complete with at least a mention of the excellent CodeIgniter docs.
Video Tutorials
- Using the Flashdata session type
- Creating a registration form
- Creating a CodeIgniter Application From Scratch: For users already a little bit familiar with CodeIgniter, this tutorial includes a video to create the sample application at the linked website.
- jQuery & JSON: Simple screencast demonstration of using CodeIgniter with jQuery & JSON to send and receive data asynchronously.
- 2 Introductory CodeIgniter Videos from the CodeIgniter Website
- A very simple "Hello World!" introduction to CodeIgniter
- Create a blog in 20 minutes
- Creating a CodeIgniter Image Uploader
- Getting Started with CodeIgniter: Part 1 in a 9-part series of CodeIgniter videos from Tuts+
- Database Selecting Methods: Part 2 in the 9-part series from Tuts+
- Sending Emails: Part 3 in the 9-part series from Tuts+
- Newsletter Signup: Part 4 in the 9-part series from Tuts+
- CRUD: Part 5 in the 9-part series from Tuts+
- Login: Part 6 in the 9-part series from Tuts+
- Pagination: Part 7 in the 9-part series from Tuts+
- Combining CodeIgniter and jQuery: Part 8 in the 9-part series from Tuts+
- How to Build an Image Gallery with File Upload and Automatic Thumbnail Creation: Part 9 in the 9-part seris from Tuts+
- Setting up jQuery with CodeIgniter: Series of 5 screencasts on setting up and using jQuery with CodeIgniter *
Footnotes:
* Found at 9 Ways to Integrate Ajax with CodeIgniter
** Special thanks to Phil Sturgeon for pointing out a few mistakes in this list.