-
Notifications
You must be signed in to change notification settings - Fork 902
Make a module to exchange private messages. Earn $2500!
isohuntto edited this page Feb 25, 2015
·
2 revisions
Deadline: 28.02.2015
Winner announcement date: 03.03.2015
Make a module which allows registered users to exchange private messages.
Features:
- Private messages are available for registered users only.
- Private messages have to be grouped into conversations (aims or branches) by the sender
- There should be an adjustable url for private messages of each username (for example http://oldpiratebay.org/user/johndoe/message/) opening existing conversation or creating a new one. If user did not sent any message this conversation will not save.
- Conversations with a new messages should be marked visually (till the user did not open the conversation)
- New messages should be marked in conversation (till the user did not read those messages)
- Conversations should be sorted by date of the latest message (conversations with new messages on top)
- Conversations shows with time and date of the latest message, text of the message + there should be a place for user’s avatar pic (48x48px)
- Messages in conversation should be sorted by date (new messages on top)
- Message is plain text. Only urls should appears like links in a message text.
- There should be smileys in messages (less than 30).
- This widget is supposed to display new messages in to the website interface
General conditions: - Make a single module. Use as less other modules interactions as you can.
- It has to be a cross-platform and cross-browser solution
- It supposed to work with high load website so if your scripts needs many data access, use caching.
- Our server provides < 200 ms page generation speed. Server configuration speed is below.
Software and libs:
PHP 5.5.16 with handlersocket, redis (from pecl), timezonedb modules.
Percona 5.5.40
Sphinx 2.2.7
Redis 2.4.10
Yii 2.0.3
JQuery 2.1.3
DB server configuration:
CPU: Intel Xeon E5-2650, 32 cores
RAM: 96 Gb.
SSD
Web server configuration: CPU: Intel Xeon E5-2650, 16 cores
RAM: 64 Gb.
How the winner will be chosen?:
First 5 pull requests, matching all the requirements completely will be candidates to win
We will choose the best UX
We will evaluate the code quality