Задача для собеседования?
Это уровень от миддла и выше.
И вообще, это слишком затратное по времени задание. Поэтому, если и делать, то только за деньги
Если и делать, то только для себя. Если напишите и отдадите им исходники, то больше ни одного сообщения от них не увидите. Скорее всего)