Человек, задающий такой вопрос, вряд ли сможет написать не то что такую систему, но даже сколько-нибудь вменяемое ТЗ по ней.
Самописные системы - это сильно отдельная песня от прочих программ. Их разработка практически никогда не заканчивается, просто увеличивается доля поддержки уже существующего кода. Если вы не готовы держать хотя бы одного программиста, который будет в этом вариться, или если у вас высок шанс, что после попадания такого программиста под автобус вам впору будет броситься под него же - лучше и не начинать писать что-то свое.
Вариант заказать какой-нибудь студии, чтобы она вам написала с нуля, отличается только тем, что под автобус может попасть вся студия.
Если вы сами не горите энтузиазмом сделать и поддерживать решение под себя - то рассматривайте только готовые решения. Такие, на которых в случае проблем можно написать объявление на полстранички на фрилансе - и найдутся спецы именно по тому, что вы перечислили.
(а если бы вы горели энтузиазмом - вы бы, скорее всего, не задавали на Тостере такие вопросы...)