if unit2 summary
TRANSCRIPT
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 requirementsGeneral- Парсер повідомлення перед відправкою. Коли користувач відправляє повідомлення з
певними командами – ця команда повинна бути оброблена на сервері і змінене повідомлення повинне прийти іншому користувачу. Оригінальне і нова повідомлення повинне бути збережене. Нове – показане користувачу.
Architecture- Apply Inversion of Control container.- Implement MVP\MVC.- 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.0Help – повертається повідомлення зі списком доступних команд=math() – повертається повідомлення з результатом операції=parse(url\email) - повертається повідомлення у форматі який буде бачити користувач отримувач.
Якщо писати будь який інший текст боту – він повинен відповідати, що ‘не знає як правильно відповісти’
Bot 2.0• Якщо користувач пише повідомлення якого не знає бот – бот повинен відповідати будь яку
випадкову фразу. (список фраз має міститись в конфігураційному файлі)
• Якщо користувач пише просто математичний вираз без команди =math() – цей вираз повинен бути опрацьований і число має бути показане.
• Підтримка команди What is …Якщо користувач присилає повідомлення боту What is c# delegates - ‘бот’ повинен надіслати в google\wiki повідомлення з тестом ‘C# Delegates’ для пошуку і за знайдемим посиланням вичитати інформацію. Повернути користувачеві перших 2 абзаци тексту і знизу посилання на джерело. (можливо повернути певну кількість обмежених символів, або просто перші 2 речення)
• Кешувати відповіді по What is.. – якщо відповідь уже є в кеші, то не робити запити в інтернет, а результат повертати з кешу.