Skip to content

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

More Info