SlideShare a Scribd company logo
1 of 9
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.

More Related Content

Viewers also liked

Advanced styles
Advanced stylesAdvanced styles
Advanced styleseleksdev
 
Sql 04n edited
Sql 04n editedSql 04n edited
Sql 04n editedeleksdev
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patternseleksdev
 
Code Practices
Code PracticesCode Practices
Code Practiceseleksdev
 
SQL Grouping, Joins
SQL Grouping, JoinsSQL Grouping, Joins
SQL Grouping, Joinseleksdev
 
Web service lecture
Web service lectureWeb service lecture
Web service lectureeleksdev
 
Design patterns
Design patternsDesign patterns
Design patternseleksdev
 
Version control
Version controlVersion control
Version controleleksdev
 
#4 code quality
#4 code quality#4 code quality
#4 code qualityeleksdev
 
SQL: Indexes, Select operator
SQL: Indexes, Select operatorSQL: Indexes, Select operator
SQL: Indexes, Select operatoreleksdev
 
Communication in android
Communication in androidCommunication in android
Communication in androideleksdev
 
Css animation, html5 api
Css animation, html5 apiCss animation, html5 api
Css animation, html5 apieleksdev
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentationeleksdev
 
NoSQL basics
NoSQL basicsNoSQL basics
NoSQL basicseleksdev
 
Lecture android best practices
Lecture   android best practicesLecture   android best practices
Lecture android best practiceseleksdev
 
Solid and ioc principles
Solid and ioc principlesSolid and ioc principles
Solid and ioc principleseleksdev
 

Viewers also liked (20)

Advanced styles
Advanced stylesAdvanced styles
Advanced styles
 
Sql 04n edited
Sql 04n editedSql 04n edited
Sql 04n edited
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patterns
 
DAL
DALDAL
DAL
 
Rpc
RpcRpc
Rpc
 
Code Practices
Code PracticesCode Practices
Code Practices
 
SQL Grouping, Joins
SQL Grouping, JoinsSQL Grouping, Joins
SQL Grouping, Joins
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 
tsql
tsqltsql
tsql
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Version control
Version controlVersion control
Version control
 
#4 code quality
#4 code quality#4 code quality
#4 code quality
 
SQL: Indexes, Select operator
SQL: Indexes, Select operatorSQL: Indexes, Select operator
SQL: Indexes, Select operator
 
Communication in android
Communication in androidCommunication in android
Communication in android
 
Css animation, html5 api
Css animation, html5 apiCss animation, html5 api
Css animation, html5 api
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentation
 
NoSQL basics
NoSQL basicsNoSQL basics
NoSQL basics
 
Lecture android best practices
Lecture   android best practicesLecture   android best practices
Lecture android best practices
 
Solid and ioc principles
Solid and ioc principlesSolid and ioc principles
Solid and ioc principles
 
N tier
N tierN tier
N tier
 

More from eleksdev

Hello android world
Hello android worldHello android world
Hello android worldeleksdev
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors APIeleksdev
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basicseleksdev
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2eleksdev
 
G rpc lection1
G rpc lection1G rpc lection1
G rpc lection1eleksdev
 
Aspnet core
Aspnet coreAspnet core
Aspnet coreeleksdev
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...eleksdev
 
SDLC. UX Role
SDLC. UX RoleSDLC. UX Role
SDLC. UX Roleeleksdev
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Roleeleksdev
 
sql introduction
sql introductionsql introduction
sql introductioneleksdev
 

More from eleksdev (11)

Hello android world
Hello android worldHello android world
Hello android world
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors API
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basics
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
 
G rpc lection1
G rpc lection1G rpc lection1
G rpc lection1
 
Aspnet core
Aspnet coreAspnet core
Aspnet core
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
 
SDLC. UX Role
SDLC. UX RoleSDLC. UX Role
SDLC. UX Role
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Role
 
sql introduction
sql introductionsql introduction
sql introduction
 
Uml
UmlUml
Uml
 

If unit2 summary

  • 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.. – якщо відповідь уже є в кеші, то не робити запити в інтернет, а результат повертати з кешу.