I am required to implement a live chat system, somewhat similar to Facebook's in that it must:
- Allow communication between 2 users
- Store messages in an inbox/sent box
- Store messages in inbox, marked unread if the user is offline when a message is sent
- A language/spam filter must also be active, as needs to monitor communication involving minors.
- Ideally, this will work on most devices/browsers including mobile access.
I pretty much have a blank canvas for this project in terms of what OS/software to use.
Having done a bit of research it seems like there's a few options / things to think about?
- PHP/AJAX long polling (Comet-style) with a standard LAMP stack storing messages in a mysql DB
- LEMP stack (nginx)using the HTTP Push Module, again Comet-style server with a php backend storing messages in a mysql DB
- Node.js?
- HTML5 interface to maintain browser/device support?
- Best DB system for this? Some people suggested mongoDB?
- Some people also suggested utilising MemCacheQ to boost performance.
What are your thoughts this? Any suggestions?