Message Collection and Distribution Platform
The application I need is simple: there are many apps that distribute messages of some kind. Think about email, Twitter, Facebook, RSS, search results, blog posts etc. – they are all different. We will call these ‘Channels’. I need a platform where messages of a wide range of apps can be collected in a MySQL database. From the database we need to provide a ‘Stream’ of messages in Real-Time that can be filtered in different ways and be seen by multiple people. Responses to the messages should be sent through the same or different channels.
I just need the core of the platform, with a well-documented API so any developer can create a plug-in to add a new channel for sending or receiving.
Some required functionalities:
• There needs to be three levels of users: Super-Admins for Admins and their Users, and Admins for their Users.
• You may use any technology, but it needs to run on Apache with MySQL as a hosted app
• Admins/Users should be able to configure channels in two ways:
o As a kind of search where only messages that contain certain (configurable) keywords are actively fetched (like ‘at’ mentions in Twitter).
o All the messages from a channel like your email or everything that is written on your Facebook wall. (passive).
• The stream should flow continuously and duplicates should be omitted.
• To deal with the stream of incoming messages the user should be able to configure a filter in the incoming channel that determines – based on a predefined condition – to what user or group of users the message should go. (Provide a UI as well as an API for this functionality)
• It should be possible to send messages from the platform to any channel.
• When there are non-text elements in the message, they should be stored on the server and referenced with a URL in the message.
• We need a central password/userid management tool, where a (Super) Admin can maintain all userid’s and passwords. We also need individual Users to be able to create/maintain their own userid/password list. (a UI should be part of the platform, but it should also be possible to do this through an API)
• Provide a dashboard, where you can access the different configuration UI’s, the API documentation and some gauges for the number of messages in and out, as well as a view on the stream of messages at a user-definable speed. Users should only see their own stream, a (Super) admin should be able to see all or just one User/Admin.
Please provide me with a detailed quote as well as a timeline for the app. We are under a tight planning schedule, so deadlines need to be kept strictly.
Note: I may well be possible that a platform like this already exists. I will pay $50 to the first person to point me to a platform like this, provided it is Open Source or Free.