CodeIgniter + Socket.IO (with Redis) Sample Project
The part_one folder contains a plain old PHP/MySQL project utilizing the CodeIgniter framework. Styling is provided by Twitter Bootstrap. The application uses the default Session plugin provided by CodeIgniter.
These files allow the use of Redis as a storage medium for CodeIgniter's session data instead of a MySQL table. The MY_Session class overrides several methods in CodeIgniter's Session class so that persistent session data is stored and retrieved from Redis.
A refactored version of part one. It includes the changes from part 2, but also features real-time updates using Socket.IO and a NodeJS server. Data is shared between NodeJS and PHP via Redis.
The user interface is unchanged, but when a message is posted by a user, any other user with the same team ID will instantly recieve the message and have it posted in the team messages list. Admins will recieve messages from all users, regardless of team ID.