Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Проект состоит из 3-х главных составляющих, взаимодействующих друг с другом.  

1) Сервер (Server)  

Консольное приложение.  

Занимается авторизацией (эмулирует запросы реального пользователя) на порталах.  

Сервер является головой проекта, он отвечает за авторизированных пользователей и отдает их данные когда запрашивает приложение клиент.  

На данный момент в системе уже выстроен алгоритм с минимальным количеством запросов и благоприятным для системы при котором не происходит блокирование аккаунтов, но могут возникать проблемы когда на порталах происходят изменения, это могут быть изменения в HTML структуре (что влекут за собой проблемы с фильтрацией на клиенте) эти изменения не столь страшны но требуют оперативного исправления. Глобальные изменения логики маловероятны но вероятность всегда есть, такие изменения требуют сверх оперативного вмешательства.  

2) Клиент (Launcher)  

Разработан на платформе WPF.  

В зависимости от конфигурационного файла строит свой интерфейс.  

Так же клиент получает информацию по запросам от сервера и уведомителя и в зависимости от полученных данных в браузерах IE или GeckoFx (Mozilla) отображает информацию, вообщем является просто средством выбора и отображения веб порталов. Так же при необходимости фильтрует данные HTML страницы.  

3) Уведомитель (PushNotifier)  

Web сервис на SignalR.  

Большой функциональностью не обладает но является инструментом для оповещения о том что нужно обновить приложение клиент если присутствует обновление.  

Оповещает всех подключенных клиентов и тех кто подключился позже.  

В свою очередь приложение клиент принимает оповещение и в принудительном порядке начинает процесс обновления.  

Требования: 

Твердое знание платформы .NET и языка C#. Умение работать с программным фреймвором WCF и WPF, а так же перечисленными библиотеками. (HttpClient, Microsoft Async, SignalR, Json.NET).

ТЗ.

1) Просмотреть критические места. В потоки, события добавить try..catch.

Ошибки логировать в базу с максимально подробной информацией. (Message, StackTrace и другое)

(1 день*8 часов)

2) Проект надо разбать на 3 независимые "службы", запускаемые из под системных привелегий. Все они они должны запускаться как служба.

(5 дней*8 часов)

3) Система автообновления. - Предложите свою идею реализации пожалуйста!!!!!!!!!!!!!!!

Реализовать циклический таймер раз в N-минут и проверять версию на стороне сервера чтобы

знать необходимо ли обновлять лаунчер. (реализация есть в старом проекте)

(5 дней*8 часов)

4) При нажатии на кнопку закрыть необходимо сворачивать (реализация есть в старом проекте)

(Доработать)

5) Объединить RelayServer и RequestHandlers и удалить соотвественно RequestHandlers.

Слишком много проектов, надо от них избавляться.

Важно: С классом PartslinkPortal быть предельно аккуратно, алгоритм на текущей момент выстроен на минимум количество запросов на сайт и блокирования не происходит.

(5 дней*8 часов)

6) RelayServer. Нужен конкретный рефакторинг.

Там много методов которые принимают явные ссылки, хотя это можно распределить по константам либо еще куда-то в ConfigurationManager и сделать все динамичнее.

Вообщем, нужен грамотный рефакторинг.

(2 дня*8 часов)

7) Каждый каталог который использует логин и пароль для авторизации все данные необходимо хранить в базе и получать соответственно из. Проверить наследование параметров клиентами после изменения в конфигуратор-менеджере.

(2 дня*8 часов)

8) Сейчас генерация кнопок в интерфейсе происходит в ListBox на WrapPanel.

(3 дня*8 часов)

9) Сделать максимально быстрой скорость запуска лаунчера. Уменьшить использование оперативной памяти.

Тестирование и отладка недоработок всех моментов 8-9 дней максимум.

Итого 31 день.

8 лет назад
viktor_panin
Виктор 
42 годаРоссия
10 лет в сервисе
Был
8 лет назад
  • Похожие заказы
  • Нужен специалист по Visual Basic для написания макроса для Excel. Имеется файл (таблица) Excel. В одном стоблце в каждой ячейке содержится термин на русском и термин на английском. Например: ~ые обстоятельства unavoidable circumstances. или гражданская ...

    Прикладное ПО1 исполнитель
    Завершен
    8 лет назад
  • Необходимо  разработать программу для экспорта  базы данных с описанием, структурой и изображениям, а так же базу ВИН кодов оригинальных каталогов авто запчастей в формат SQL. Есть разработанная структура БД, которая подойдет под любой каталог. Каталоги: [list][*]Mercedes-Benz EPC Net ...

    Закрыт
    8 лет назад
  • $8

    Есть post-запрос SOAP, отправка данных формы на сайт, полученный фиддлером. В самом фиддлере запрос работает как нужно (если отправлять его повторно). Необходимо перенести этот запрос в другую программу в правильном виде (программа Windows Automation - ...

    Закрыт
    8 лет назад
  • Добрый день! Требуется разработать приложение-оболочку для защиты основного функционала пакета ПО бухгатерского учета. Главные требования по кандидатуре: -Наличие опыта подобных разработок, качественный и чистый вид кода, владение техниками анти-отладки которые следует внедрить в приложение, опыт работы с ...

    Закрыт
    8 лет назад
  • Здравствуйте!  Функциональные возможности:  * Загрузка списка номеров в автодозвонщик либо формирование номеров путем свободных цифр  * Сценарий: Автоматический дозвон/сброс при поднятии трубки  * Создание и подстановка маски CLI в исходящий автодозвон (т.е нужно чтобы звонки шли с определенных сформированных ...

    Закрыт
    8 лет назад
  • и запустит его. Прожка берёт дан вида ip@login:pass Лог работы складыва bad.txt, ok.txt и fack.txt ну тут всё понятно. поддерживать русские и  Софт долже

    Закрыт
    8 лет назад
  • Среда программирования - Lazarus. Необходимо написать кусок кода для отображения в TVirtualTreeView базы данных в виде раскрывающегося дерева. В настоящее время имеется БД PostgreSQL с компонентом LTREE, в котором есть таблица с иерархической структурой в виде: [list=1][*]ID - ...

    Прикладное ПО1 исполнитель
    Завершен
    8 лет назад
  • Думал найду исполнителя просто для работы с FFmpeg, но с программой будет проще. Необходима программка, для создания скриншотов из видео на равноудаленных отрезках времени. Список видеофайлов загружается в окошко или файлом. Созданные скриншоты сохраняются в одноименную с видео ...

    Закрыт
    8 лет назад
  • Необходимо написать программу обработки списка - сортировка, вычисление среднего, максимального, суммы итд. Программа обрабатывает предложенный файл csv, на выходе создается файл в определенном формате.  Все файлы и более подробное описание прикреплены к проекту. Описание содержится в файле Описание.txt ...

    Закрыт
    8 лет назад