Нeoбxодим софт(пpилoжeние) для накpутки зритeлeй нa канал twitch.tv. Готовыe aккaунты ужe имеются. Bаши пpедложeния.
Разработать backend на C#.
Добрый день!
Требуется разработка бэкенда для мобильного приложения. Необходимо разработать серию методов.
При подаче заявки прошу указать сроки и стоимость.
Описание задачи:
1. Разработать класс UserAccount.
Поля:
email,
userId,
isAdmin=0 (признак админской учетки, по умолчанию 0)
username,
attr1.. attr5 (текстовые атрибуты)
creationDate,
String (или Int) accountStatus (confirmed, not confirmed) статус акка (можно енумом сделать)
Favorits – массив userIds
2. Реализовать методы сохранения, чтения, поиска данных в БД (МонгоДБ), Redis
3. Реализовать веб-сервис используя C# + ServiceStack .
Опубликованные методы:
CreateAccount
Параметры: String email, String key ,String requestDateTime
Валидируем входные параметры, проверям корректность ключа.
Если валидация прошла успешно и имейла в БД нет то:
Создает новый эккаунт В БД, при этом заполняет поля класса произвольными
(по маске) значениями, возвращает статус OK и данные – сериализованный
в JSON екземпляр класса UserAccount
Если имейл в БД есть, то возвращает статуc Error: AccountExists
Если аккаунт был создан – то присваивает дату создания акканта
(creationDate) и отправляет на почту ссылку для подтверждения эккаунта
В случае ошибки валидации метод возвращает статус Error
UpdateAccount
Параметры: userId , JSON объект содержащий пары поле – значение, key , sessionId , requestDateTime
Валидируем входные параметры, проверям корректность ключа и ИД сессии
В случае если проверка пройдена обновляем запись в БД.
Email и пароль в БД должны храниться в виде соленого хэша
Возвращаем обновленную запись в JSON. (хэши клиенту не возвращаем)
Если проверка не пройдена возвращаем ошибку.
Authenticate
Параметры: email, password, key, requestDateTime
Валидируем входные параметры, проверям корректность ключа
Если валидация пройдена – хешируем email , password и проверяем наличие хеша в БД.
Если проверка пройдена - создаем запись в таблице сессий, возвращаем ID сесии и ИД юзера.
Если проверка не пройдена – возвращаем статус ошибки.
ConfirmAccount
Параметры: email, confirmKey, requestDateTime, key
Валидируем входные параметры, проверям корректность ключа
Если валидация пройдена, находим нужную запись в БД (по email и
confirmKey - userId ) и меняем статус записи (атрибут accountStatus )
на confirmed .
UpdateMyLocation
Параметры: userId, sessionId, key, requestDateTime , долгота и широта (оба Double)
Проверяем валидность данных, проверяем ключ, проверяем сессию
пользователя, проверяем доступность редиски и наличие записи. Если
запись уже есть – обновляем.
Если проверка прошла успешно, записываем в Redis инфу о юзере.
(https://github.com/ServiceStackApps/redis-geo#servicestackredis-geo-apis)
Названия полей которые попадают в редис, должны настраиваться, например, локальным массивом строк.
Время жизни записи в редисе настраивается локальной переменной.
Если ошибок нет, возвращаем статус ОК, иначе Error и описание ошибки.
FindAccsInRadius
Параметры: userId, sessionId, key, requestDateTime, долгота и широта (оба Double), GeoRadius
Проверяем валидность данных, проверяем ключ, проверяем сессию пользователя, проверяем доступность редиски.
Посылаем в редиску запрос Redis.FindGeoResultsInRadius
Возвращаем массив данных в JSON формате. Названия полей которые попадают
в массив, должны настраиваться, например, локальным массивом
строк(названия полей в массиве)
FindAccByAttr
Параметры: userId, sessionId, key, requestDateTime, массив атрибутов со значениями
Может вызываться из админки, админка не генерит кей, если вызывается пользователем с админскими правами – key игнорируем.
Проверяем валидность данных, проверяем ключ, проверяем сессию пользователя, проверяем админ ли пользователь.
Админы могут искать по всем атрибутам, обычные пользователи только по ID .
Возвращаем найденый/ые акк.
В случае ошибки возвращаем статус ошибки.
GetAllUsers
Параметры: userId, sessionId, key, requestDateTime, fromNumber, toNumber
Может вызываться из админки, админка не генерит кей, если вызывается пользователем с админскими правами – key игнорируем
Проверяем валидность данных, проверяем ключ, проверяем сессию пользователя
Проверям админ ли пользователь. Проводим поиск и возвращаем нужную страницу записей.
В случае ошибки валидации или если пользователь не админ возвращаем ошибку.
AddGhost
Параметры userId, sessionId, requestDateTime, timeToLive, массив атрибутов
Может вызываться из админки, админка не генерит кей, если вызывается пользователем с админскими правами – key игнорируем
Проверяем валидность данных, проверяем ключ, проверяем сессию пользователя, проверяем что пользователь админ.
Если проверки пройдены, добавляем запись в Redis .Время жизни записи
определяется входным параметром tuimeToLive . Возвращаем OK если нет
ошибок иначе Error
Заявки фрилансеров
Похожие заказы
- Прикладное ПО5 заявокЗакрыт8 лет назад
Мне нужна надстройка, которая выдавала бы историю создания содержимого в модели автокада.
Прикладное ПО1 заявкаЗакрыт8 лет назад- $50
Здравствуйте! Нужна программа для проверки мобильных номеров на наличие в мессенджерах Telegram/Whatsapp/Viber. Иными словами, чекер. Принцип работы программы: загружаем n-ное количество телефонных номеров, программа в текстовом файле выдает только те, которые зарегистрированы в мессенджерах. Программа должна ...
Прикладное ПО3 заявкиЗакрыт8 лет назад Здравствуйте. Мне необходимо создать похожую работу: Пример работы
Прикладное ПО1 заявкаЗакрыт8 лет назадЗдравствуйте, нужна помочь в разработке программы на C#. Есть сайт с онлайн трансляцией веб-камер, подключение к камере происходит через Flash(rtmp я так понимаю). Мне нужно добавить swf на форму программы, и подключиться через нее к ...
Прикладное ПО2 заявкиЗакрыт8 лет назадHужно pазpабoтать шифрoвaльщик дaнныx oпpeдeлeннoго фоpмaтa. Eсть дaнныe вeктoрные фaйлы **.ai **.jpg **.tif **max Нужно чтоб ecли эти данныe попaли в чужиe руки зaпуcкался процеcc шифрoвaнии и c данными нe вoзможнo былo pабoтaть. ...
Прикладное ПО6 заявокЗакрыт8 лет назад- $50
Написать прикладное ПО для отбора картинок с Яндекс Диска. Задается программе ссылки на Яндекс Диске. Программа начинает отображать фотографии на экране. Оператор начинает отбирать фотографии по принципу принять или отклонить. ...
Прикладное ПО4 заявкиЗакрыт8 лет назад - $500
Коллеги, приветствую! Есть задача по опеределению активного окна и его названия (хендела). Собственно, это все. Если что, есть в открытом доступе примеры, их довольно много, на всякий случай выложу несколько: http://www.cyberforum.ru/csharp-net/thread107575.html ...
Прикладное ПО1 исполнительЗавершен8 лет назад Нужно написать универсальную читалку для всех типов расширений электронных книг (pdf, fb2, epub, djvu, doc, rtf, txt и так далее). Необходимая совместимость: Windows XP-10/Mac OS все версии. Есть некоторые требования по функционалу. Обсуждение и ...
Прикладное ПО2 заявкиЗакрыт8 лет назадНужно написать программу для правки скачанного сайта прогой Teleport Pro . Смысл проги такой: Я выкачиваю сайт с помощью проги Teleport Pro. Я получаю папку с исходниками сайта (css, html , images и тд). Но ...
Прикладное ПО2 заявкиЗакрыт8 лет назад