eleks.comeleks.com
Unit 2 Summary
Job placement criteria: Evaluate
students code
• Project code convention;
• Follows best practices in code writing;
• Follows OOD principles (SOLID, design patterns, IoC
Container);
• Able to resolve issues in the most optimal and logical way;
Job placement criteria: Evaluate
students attitude and responsibilities
• Using tools by established rules (git, trello, IDE);
• Timely homework/tasks execution;
• lectures attendance;
• activity on the lectures (participate in discussions, respond to the
lecturer’s questions, asks questions etc.);
• Teamwork (shares information with team members, performs
assigned duties, participate in proj discussions, avoids conflicts etc.);
Job placement criteria: Evaluate
course projects
• Code Quality;
• Solution structure and architecture;
• Compliance with original requirements;
• Able to resolve issues in the most optimal and logical way;
• Extra features;
Project requirements
General
- Парсер повідомлення перед відправкою. Коли користувач відправляє повідомлення з
певними командами – ця команда повинна бути оброблена на сервері і змінене
повідомлення повинне прийти іншому користувачу. Оригінальне і нова повідомлення
повинне бути збережене. Нове – показане користувачу.
Architecture
- Apply Inversion of Control container.
- Implement MVPMVC.
- General project architecture + refactoring. Separate logic by layers, etc.
- Separate DAL
Documentation
- Architecture diagrams
- XML documentation to public methods
Testing
- Cover calculation logic with unit tests. (Coverage more than 30%)
Message Parser
Підтримка URL
- Якщо повідомлення містить url – програма повинна зробити запит за адресою, отримати
header сторінки і замісnь url в оригінальному повідомленні вставити <a
href=“url”>Caption</a>
Підтримка Email
- Якщо повідомлення містить email адресу – програма повинна поміняти адресу на тег <a
href=“mailto:emailAddress”>emailAddress</a>
Підтримка математичних операцій
- Якщо повідомлення містить =math(<operation>) – повинна порахувати вираз в дужках і
вставити його замість вхідного тексту. Приклад =math(2+2*2) повинно бути ставлено число
6.
Bot
Реалізувати бот-користувача який буде автоматично відповідати на повідомлення.
Підтримуванні команди:
v 1.0
Help – повертається повідомлення зі списком доступних команд
=math() – повертається повідомлення з результатом операції
=parse(urlemail) - повертається повідомлення у форматі який буде бачити користувач
отримувач.
Якщо писати будь який інший текст боту – він повинен відповідати, що ‘не знає як правильно
відповісти’
Bot 2.0
• Якщо користувач пише повідомлення якого не знає бот – бот повинен відповідати будь яку
випадкову фразу. (список фраз має міститись в конфігураційному файлі)
• Якщо користувач пише просто математичний вираз без команди =math() – цей вираз
повинен бути опрацьований і число має бути показане.
• Підтримка команди What is …
Якщо користувач присилає повідомлення боту What is c# delegates - ‘бот’ повинен надіслати в
googlewiki повідомлення з тестом ‘C# Delegates’ для пошуку і за знайдемим посиланням
вичитати інформацію. Повернути користувачеві перших 2 абзаци тексту і знизу посилання на
джерело. (можливо повернути певну кількість обмежених символів, або просто перші 2
речення)
• Кешувати відповіді по What is.. – якщо відповідь уже є в кеші, то не робити запити в
інтернет, а результат повертати з кешу.
eleks.com
Inspired by Technology.
Driven by Value.

If unit2 summary

  • 1.
  • 2.
    Job placement criteria:Evaluate students code • Project code convention; • Follows best practices in code writing; • Follows OOD principles (SOLID, design patterns, IoC Container); • Able to resolve issues in the most optimal and logical way;
  • 3.
    Job placement criteria:Evaluate students attitude and responsibilities • Using tools by established rules (git, trello, IDE); • Timely homework/tasks execution; • lectures attendance; • activity on the lectures (participate in discussions, respond to the lecturer’s questions, asks questions etc.); • Teamwork (shares information with team members, performs assigned duties, participate in proj discussions, avoids conflicts etc.);
  • 4.
    Job placement criteria:Evaluate course projects • Code Quality; • Solution structure and architecture; • Compliance with original requirements; • Able to resolve issues in the most optimal and logical way; • Extra features;
  • 5.
    Project requirements General - Парсерповідомлення перед відправкою. Коли користувач відправляє повідомлення з певними командами – ця команда повинна бути оброблена на сервері і змінене повідомлення повинне прийти іншому користувачу. Оригінальне і нова повідомлення повинне бути збережене. Нове – показане користувачу. Architecture - Apply Inversion of Control container. - Implement MVPMVC. - General project architecture + refactoring. Separate logic by layers, etc. - Separate DAL Documentation - Architecture diagrams - XML documentation to public methods Testing - Cover calculation logic with unit tests. (Coverage more than 30%)
  • 6.
    Message Parser Підтримка URL -Якщо повідомлення містить url – програма повинна зробити запит за адресою, отримати header сторінки і замісnь url в оригінальному повідомленні вставити <a href=“url”>Caption</a> Підтримка Email - Якщо повідомлення містить email адресу – програма повинна поміняти адресу на тег <a href=“mailto:emailAddress”>emailAddress</a> Підтримка математичних операцій - Якщо повідомлення містить =math(<operation>) – повинна порахувати вираз в дужках і вставити його замість вхідного тексту. Приклад =math(2+2*2) повинно бути ставлено число 6.
  • 7.
    Bot Реалізувати бот-користувача якийбуде автоматично відповідати на повідомлення. Підтримуванні команди: v 1.0 Help – повертається повідомлення зі списком доступних команд =math() – повертається повідомлення з результатом операції =parse(urlemail) - повертається повідомлення у форматі який буде бачити користувач отримувач. Якщо писати будь який інший текст боту – він повинен відповідати, що ‘не знає як правильно відповісти’
  • 8.
    Bot 2.0 • Якщокористувач пише повідомлення якого не знає бот – бот повинен відповідати будь яку випадкову фразу. (список фраз має міститись в конфігураційному файлі) • Якщо користувач пише просто математичний вираз без команди =math() – цей вираз повинен бути опрацьований і число має бути показане. • Підтримка команди What is … Якщо користувач присилає повідомлення боту What is c# delegates - ‘бот’ повинен надіслати в googlewiki повідомлення з тестом ‘C# Delegates’ для пошуку і за знайдемим посиланням вичитати інформацію. Повернути користувачеві перших 2 абзаци тексту і знизу посилання на джерело. (можливо повернути певну кількість обмежених символів, або просто перші 2 речення) • Кешувати відповіді по What is.. – якщо відповідь уже є в кеші, то не робити запити в інтернет, а результат повертати з кешу.
  • 9.