Giter VIP home page Giter VIP logo

ch-044's Introduction

ch-044's People

Contributors

slavatarbinskyi avatar stasyakhnenko avatar yurapostevka avatar alisaanosova avatar sashaodoviichuk avatar eventsexpress avatar nromanen avatar

Stargazers

Adrian Barbe avatar

Watchers

James Cloos avatar  avatar Roman Lytvyn avatar Mike Popeluk avatar

ch-044's Issues

Перевірка чи товар досі існує

Якщо товар видалено, то треба маркнути його як видалений в БД.

Це має бути таск який перевірятиме існуючі товари в якійсь категорії в нашій БД з списком товарів в магазині.

Список товарів

Зробити сторінку, яка відображатиме список товарів для кожної категорії.

(тільки список. нічого більше)

Декілька критеріїв для парсера

На одну критерію парсер повнен мати можливість брати декілька ікспаісів. Якщо при виконанні попереднього виникла помилка чи нічого не розпарсилось, то виконувати наступний. Їхній порядок можна міняти.

Категорії (верстка і порядок)

  1. Поправити верстку категорій відповідоно до Мішиних коментарів.
  2. Потрібно мати можливість впорядковувати категорії.

Підключити Log4Net

Підключити, протестувати і налаштувати Log4Net.

На кожен день має створюватись окремий файл з логами.
Час у файлі повинен зберігатись в UTC.

XPATH

Дістати XPATH з iframe і передати в батьківську сторінку.

Дерево категорій

Зробити сторінку, на якій можна налаштовувати дерево категорій.

Додавання, редагування, видалення, зміна батьківської.
Для роботи з деревом можна пошукати якусь jQuery бібліотеку.

Треба поправити мапінг Category на CategoryDTO.

Завантаження сторінки

Знайти можливість завантажити любу URL сторінку і її CSS, JS, і т.д. ресурси. Та відкривати завантажену сторінку в iframe

Авторизація

  1. Зробити сторінку логін
  2. Зробити сторінку логаут
  3. Зробити сторінку реєстрації нового користувача.
  4. Додати ролі адміністратора і користувача
  5. Зробити сторінку, на якій адміністратор може змінити роль усім іншим користувачам.
  6. Додати переверку на роль усім існуючим контролерам

(http://metanit.com/sharp/mvc5/12.20.php)

AutoMapper

Підключити AutoMapper і налаштувати його.

В коді додати пару закоментованих прикладів мапінга.

Знайти headless browser with javascript support

Можливі варіанти:

  • PhantomJS
  • WebKit .NET
  • Selenium
  • GhostDriver
  • .NET WebBrowser

Бажано щоб була МІТ ліцензія.

Додати до нашого солюшина новий проект SiteProcessor.
В ньому має бути клас який:

  • отримуватиме url і path
  • завантажуватиме сторінку через headless browser і тор
  • зберігатимег html в заданий path

Історія цін

Зробити історію цін.

Таблиця: ід запису, ід товару, назву товару, ціна товару, дата.

Створення структур

Зробити можливість створювати структури даних.

Цілі числа / дробові числа / грошові / дати / стрічки / енами.

Обробка помилок на сайті

Якщо хоч десь винекне помилка і для неї не існуватиме обробника, то треба щоб сайт її обробив.

Тобто користувач не побачив "страшну" помилку з логами ерора, а щоб користувачу відобразилась "гарна" сторінка з якимось повідомленням. (сталась помилка, спробуйте зайти пізніше.....)

Версійність тасків

Кожен таск повинен мати дату останньої зміни.

Коли парсер отримує завдання з черги він повинен перевірити дату таска у завданні і дату таска в його контексті. Якщо у контексті старіша версія, то підгрузити новішу версію таска з БД.

Створення новго завдання

Потрібно мати можливість створити нове завдання.
Завдання повинно мати назву і бути прикріплене до якоїсь категорії і магазину
Завдання повинно мати пріоритет.
Завдання повинно мати статус (активне/призупинене)
Завдання може бути "вічним", або мати термін дії.

page 1

Authentication

Зробити на сайті авторизацію використовуючи C# Owin Identity.

Tor.net modify user agent

Спробуват змітини юзер агент стрічку для тора.
Зробити щоб він при кожному запиті рандомно підставляв юзер анегт віж хрома чи фаєрфокса.
Це повинно пофіксати проблему з капчою на сайтах.

Налаштування результатів парсера

Зараз парсер може витягнути тільки текст.
Треба додати можливість витягувати URL посилання, кастомні атрибути і т.д.

Тобто біля кожного текстового поля з ікспасом повинен бути випадаючий список, в якому будуть варіанти: текст, посилання, кастомні атрибути....

Зробити скедулер завдань

Для початку тільки розібратись з Quartz.NET Scheduling Framework for .NET Platform
В понеділок розкажу що з ним робити треба буде.

Ітератор (v1)

Написати ітератор, який видасть усі посилання на товари.

На вхід він приматиме XPATH-си до сторінок з товарами і XPATH-си до наступних сторінок з списками. Якщо XPATH-си списків товарів не працюватимуть, то використовувати URL параметри.

page 2

SimpleInjector

Розібратись з SimpleInjector.

Додати до сайту. Налаштувати.

Створення критеріїв

Зробити можливість додавання критеріїв для кожної категорії.

Критерія складається з ід, назва, опис, тип, значення по замовчуванню, префікс, суфікс
Тип - стрічка, число ціле, число дробове, час, дата

Task менеджер

Зробити менеджер який може додавати таск до черги, витягувати таск з черги і виконувати таск.

Не дробити всю цю функціональність по різним частинам проекту так як це зроблено зараз.

Авторизація через соціальні мережі

Додати можливість авторизації через соціальні мережі.
Працювати на пряму з АРІ не обов"язково, можна використовувати uLogin або його аналоги.
Обов"язково додати "фейсбук", "гугл" і "контакт".

Термін відображення товару

Акційні товари мають обмеження по часу. Треба додати можливість знати дату закінчення акційних товарів чи їх цін.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.