SlideShare a Scribd company logo
1 of 24
Cracking Web Development
The Birth of Insights
01/2017
Reviews Sentiment Deployed
Deploy review sentiment naive
model, which detects sentiment
for entire review
07/2017
Started Working on Insighs API
Creating an extensible, modular
and generic API over
Elasticsearch
02/2017
Insights POC
Data Science started working on
POC - detecting not only
sentiment, but what people
actually talk about
03/2017
Pass Down to Big Data
Splitting the pipeline into 2
phases - Syntactic Parser and
Insights. Implementing insights
in a distributed scalable manner
11/2017
Beta!!!
First phase, Topics with several
filters.
09/2017
Web Efforts
Working with Spectory on
Insights ui.
Tech Stack
Angular
● Opinionated Framework
Comes with RxJS and TypeScript built in
● Component-based
Self-contained modules and components
● One way data flow
● Created by Dan Abramov in 2015
● Influenced by Facebook’s Flux paper and
the Elm language
Redux
Redux
● Your app is a state machine
The only way to change the state is by
dispatching an action to the reducer
● Declarative & Predictable
What instead of How
Async made easy
● Isolation of data
Data is isolated from presentation
Entities
● Store
● State
● Action
● Reducer
● Epic
● Module
● Service
● Widget
● Container
Entities
● Store
● State
● Action
● Reducer
● Epic
● Module
● Service
● Widget
● Container
Entities
● Store
● State
● Action
● Reducer
● Epic
● Module
● Service
● Widget
● Container
Entities
● Store
● State
● Action
● Reducer
● Epic
● Module
● Service
● Widget
● Container
Entities
● Store
● State
● Action
● Reducer
● Epic
● Module
● Service
● Widget
● Container
● Store
● State
● Action
● Reducer
● Epic
Entities
● Module
● Service
● Widget
● Container
● Store
● State
● Action
● Reducer
● Epic
Entities
● Module
● Service
● Widget
● Container
● Store
● State
● Action
● Reducer
● Epic
Entities
● Module
● Service
● Widget
● Container
Key Concepts
1 | UI is always represented by the current state
interface AppState {
data: DataState;
ui: UIState;
}
interface UIState {
layoutState: LayoutState;
sidebarStructure:
SidebarStructure;
spinnersState: SpinnersState;
}
Interface SpinnersState {
topics: boolean;
paginatedTable: boolean;
reviewsModal: boolean;
filter: boolean;
}
Key Concepts
2 | UI is declaring only what happened
this.ngRedux.dispatch(this.actions.topicExpanded(data.topic))
case TopicsActions.expandedTopic:
const raw = lastState.raw.slice(0);
const index = _.findIndex(lastState.raw, { id: action.payload });
raw[index] = { ...raw[index], expanded: true };
return { ...lastState, raw }
Action
Reducer
State
3 | Data is fetched in response to UI actions
Key Concepts
Topic Expanded
Fetch Topic Products
Call API
Fetch Topic Products SuccessEPIC
4 | Front end is decoupled from Full Stack  Backend
Key Concepts
FRONT-END FULL-STACK
4 | Front end is decoupled from Full Stack  Backend
Key Concepts
● Front end specialists work with simple mock json server
○ Not dependent on server  environment - Always works
○ Easy to create UI edge cases
○ Use Demo for design  product review  usability testing  QA
● Full stack developers will connect the UI to the backend
○ Deal with environment  CI - Deploy first
○ Deals only with how to retrieve data
○ Work on API  Logging  Monitoring  Analytics  Caching
Key Concepts
5 | Current UI and Future UI
GA
Related Info | Moderation
Beta-3
All Filters | Dynamic Favorites
Beta-2
Drill-Down Chart | Search | 3 Filters
Beta-1
Static Favorites | 2 Filters | Products
insights-components
master
yotpo-internal-master
insights-ui
Key Concepts
5 | Current UI and Future UI
GA
Related Info | Moderation
Beta-3
All Filters | Dynamic Favorites
Beta-2
Drill-Down Chart | Search | 3 Filters
Beta-1
Static Favorites | 2 Filters | Products
master
yotpo-internal-master Beta-1
Static Favorites | 2 Filters | Products
insights-components
insights-ui
Benefits
● Start working immediately without a backend
● Get to design  product review quicker
● Leverage Speciality (Frontend / Backend / CI)
● Ability to offload work to outsource
● End2End tests are easier and can be splitted for UI and Data
Challenges
● Communication
● Identifying responsibility between teams
● Merges between future and current UI - Regression Risk
● High quality components VS More components
● How much further should future UI advance?
● Deepen the Inequality - knowledge sharing
Thank You.

More Related Content

What's hot

Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 
Netflix Recommendations Feature Engineering with Time Travel
Netflix Recommendations Feature Engineering with Time TravelNetflix Recommendations Feature Engineering with Time Travel
Netflix Recommendations Feature Engineering with Time TravelFaisal Siddiqi
 
This Week in Neo4j- 1st December 2018
This Week in Neo4j- 1st December 2018This Week in Neo4j- 1st December 2018
This Week in Neo4j- 1st December 2018Neo4j
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQLshobot
 
GraphQL Advanced
GraphQL AdvancedGraphQL Advanced
GraphQL AdvancedLeanIX GmbH
 
Data-driven development with GraphQL and Flow
Data-driven development with GraphQL and FlowData-driven development with GraphQL and Flow
Data-driven development with GraphQL and FlowKang Jin Chia
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Rafael Wilber Kerr
 
Service abstractions - Part 1: Queries
Service abstractions - Part 1: QueriesService abstractions - Part 1: Queries
Service abstractions - Part 1: QueriesMatthias Noback
 
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...GeeksLab Odessa
 
Logic Apps reuse with microservices design
Logic Apps reuse with microservices designLogic Apps reuse with microservices design
Logic Apps reuse with microservices designBizTalk360
 
Gitana: a SQL-based Git Repository Inspector
Gitana: a SQL-based Git Repository InspectorGitana: a SQL-based Git Repository Inspector
Gitana: a SQL-based Git Repository InspectorValerio Cosentino
 
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)Shift Conference
 
Exception Management patterns in Logic Apps
Exception Management patterns in Logic AppsException Management patterns in Logic Apps
Exception Management patterns in Logic AppsBizTalk360
 
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration    (ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration BIOVIA
 
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)Seven Peaks Speaks
 
Create flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisCreate flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisMaurice De Beijer [MVP]
 
The Monitoring and Metic aspects of Eclipse MicroProfile
The Monitoring and Metic aspects of Eclipse MicroProfileThe Monitoring and Metic aspects of Eclipse MicroProfile
The Monitoring and Metic aspects of Eclipse MicroProfileHeiko Rupp
 

What's hot (20)

GraphQL Search
GraphQL SearchGraphQL Search
GraphQL Search
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
Netflix Recommendations Feature Engineering with Time Travel
Netflix Recommendations Feature Engineering with Time TravelNetflix Recommendations Feature Engineering with Time Travel
Netflix Recommendations Feature Engineering with Time Travel
 
This Week in Neo4j- 1st December 2018
This Week in Neo4j- 1st December 2018This Week in Neo4j- 1st December 2018
This Week in Neo4j- 1st December 2018
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQL
 
GraphQL Advanced
GraphQL AdvancedGraphQL Advanced
GraphQL Advanced
 
Data-driven development with GraphQL and Flow
Data-driven development with GraphQL and FlowData-driven development with GraphQL and Flow
Data-driven development with GraphQL and Flow
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)
 
Service abstractions - Part 1: Queries
Service abstractions - Part 1: QueriesService abstractions - Part 1: Queries
Service abstractions - Part 1: Queries
 
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...
 
Logic Apps reuse with microservices design
Logic Apps reuse with microservices designLogic Apps reuse with microservices design
Logic Apps reuse with microservices design
 
Gitana: a SQL-based Git Repository Inspector
Gitana: a SQL-based Git Repository InspectorGitana: a SQL-based Git Repository Inspector
Gitana: a SQL-based Git Repository Inspector
 
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
 
Exception Management patterns in Logic Apps
Exception Management patterns in Logic AppsException Management patterns in Logic Apps
Exception Management patterns in Logic Apps
 
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration    (ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
 
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
Graph ql vs rest api - Seven Peaks Software (Node.JS Meetup 18 nov 2021)
 
Audit and syslog lightning talk
Audit and syslog lightning talkAudit and syslog lightning talk
Audit and syslog lightning talk
 
Create flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisCreate flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apis
 
The Monitoring and Metic aspects of Eclipse MicroProfile
The Monitoring and Metic aspects of Eclipse MicroProfileThe Monitoring and Metic aspects of Eclipse MicroProfile
The Monitoring and Metic aspects of Eclipse MicroProfile
 
Eclipsecon2010
Eclipsecon2010Eclipsecon2010
Eclipsecon2010
 

Similar to Cracking web development

Rajat Kanti Gupta
Rajat Kanti GuptaRajat Kanti Gupta
Rajat Kanti GuptaRajat Gupta
 
SplunkLive! London 2017 - DevOps Powered by Splunk
SplunkLive! London 2017 - DevOps Powered by SplunkSplunkLive! London 2017 - DevOps Powered by Splunk
SplunkLive! London 2017 - DevOps Powered by SplunkSplunk
 
Resume_2016Aug
Resume_2016AugResume_2016Aug
Resume_2016AugI-Fan Chu
 
Refreshing Your App in iOS 7
Refreshing Your App in iOS 7Refreshing Your App in iOS 7
Refreshing Your App in iOS 7Aviary
 
Developer Night Opticon 2017
Developer Night Opticon 2017Developer Night Opticon 2017
Developer Night Opticon 2017Optimizely
 
Inthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePointInthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePointInthiyaz Pathan
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
 
Splunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection ArchitectureSplunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection ArchitectureSplunk
 
SplunkLive! London 2017 - Happy Apps, Happy Users
SplunkLive! London 2017 - Happy Apps, Happy UsersSplunkLive! London 2017 - Happy Apps, Happy Users
SplunkLive! London 2017 - Happy Apps, Happy UsersSplunk
 
ATAGTR2017 Protractor Cucumber BDD Approach
ATAGTR2017 Protractor Cucumber BDD ApproachATAGTR2017 Protractor Cucumber BDD Approach
ATAGTR2017 Protractor Cucumber BDD ApproachAgile Testing Alliance
 
Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...IWSM Mensura
 
Cognos Analytics v11: A Closer Look
Cognos Analytics v11: A Closer Look Cognos Analytics v11: A Closer Look
Cognos Analytics v11: A Closer Look Senturus
 
Mridul_Halder_Resume
Mridul_Halder_ResumeMridul_Halder_Resume
Mridul_Halder_ResumeMridul Halder
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Agile point brief introduction
Agile point brief introductionAgile point brief introduction
Agile point brief introductionDebasish Mahapatra
 

Similar to Cracking web development (20)

Rajat Kanti Gupta
Rajat Kanti GuptaRajat Kanti Gupta
Rajat Kanti Gupta
 
SplunkLive! London 2017 - DevOps Powered by Splunk
SplunkLive! London 2017 - DevOps Powered by SplunkSplunkLive! London 2017 - DevOps Powered by Splunk
SplunkLive! London 2017 - DevOps Powered by Splunk
 
Sam segal resume
Sam segal resumeSam segal resume
Sam segal resume
 
Resume_2016Aug
Resume_2016AugResume_2016Aug
Resume_2016Aug
 
Refreshing Your App in iOS 7
Refreshing Your App in iOS 7Refreshing Your App in iOS 7
Refreshing Your App in iOS 7
 
Developer Night Opticon 2017
Developer Night Opticon 2017Developer Night Opticon 2017
Developer Night Opticon 2017
 
Inthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePointInthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePoint
 
Uma SunilKumar Resume
Uma SunilKumar ResumeUma SunilKumar Resume
Uma SunilKumar Resume
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
Splunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection ArchitectureSplunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection Architecture
 
SplunkLive! London 2017 - Happy Apps, Happy Users
SplunkLive! London 2017 - Happy Apps, Happy UsersSplunkLive! London 2017 - Happy Apps, Happy Users
SplunkLive! London 2017 - Happy Apps, Happy Users
 
ATAGTR2017 Protractor Cucumber BDD Approach
ATAGTR2017 Protractor Cucumber BDD ApproachATAGTR2017 Protractor Cucumber BDD Approach
ATAGTR2017 Protractor Cucumber BDD Approach
 
Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...Designing an unobtrusive analytics framework for monitoring java applications...
Designing an unobtrusive analytics framework for monitoring java applications...
 
Cognos Analytics v11: A Closer Look
Cognos Analytics v11: A Closer Look Cognos Analytics v11: A Closer Look
Cognos Analytics v11: A Closer Look
 
Pallavi_Jindal_resume
Pallavi_Jindal_resumePallavi_Jindal_resume
Pallavi_Jindal_resume
 
Mridul_Halder_Resume
Mridul_Halder_ResumeMridul_Halder_Resume
Mridul_Halder_Resume
 
Manikanta_Chimata
Manikanta_ChimataManikanta_Chimata
Manikanta_Chimata
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
[TestWarez 2017] Automated Testing for Common Errors and Difference Recogniti...
[TestWarez 2017] Automated Testing for Common Errors and Difference Recogniti...[TestWarez 2017] Automated Testing for Common Errors and Difference Recogniti...
[TestWarez 2017] Automated Testing for Common Errors and Difference Recogniti...
 
Agile point brief introduction
Agile point brief introductionAgile point brief introduction
Agile point brief introduction
 

Recently uploaded

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Recently uploaded (20)

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 

Cracking web development

  • 2. The Birth of Insights 01/2017 Reviews Sentiment Deployed Deploy review sentiment naive model, which detects sentiment for entire review 07/2017 Started Working on Insighs API Creating an extensible, modular and generic API over Elasticsearch 02/2017 Insights POC Data Science started working on POC - detecting not only sentiment, but what people actually talk about 03/2017 Pass Down to Big Data Splitting the pipeline into 2 phases - Syntactic Parser and Insights. Implementing insights in a distributed scalable manner 11/2017 Beta!!! First phase, Topics with several filters. 09/2017 Web Efforts Working with Spectory on Insights ui.
  • 4. Angular ● Opinionated Framework Comes with RxJS and TypeScript built in ● Component-based Self-contained modules and components ● One way data flow
  • 5. ● Created by Dan Abramov in 2015 ● Influenced by Facebook’s Flux paper and the Elm language Redux
  • 6. Redux ● Your app is a state machine The only way to change the state is by dispatching an action to the reducer ● Declarative & Predictable What instead of How Async made easy ● Isolation of data Data is isolated from presentation
  • 7. Entities ● Store ● State ● Action ● Reducer ● Epic ● Module ● Service ● Widget ● Container
  • 8. Entities ● Store ● State ● Action ● Reducer ● Epic ● Module ● Service ● Widget ● Container
  • 9. Entities ● Store ● State ● Action ● Reducer ● Epic ● Module ● Service ● Widget ● Container
  • 10. Entities ● Store ● State ● Action ● Reducer ● Epic ● Module ● Service ● Widget ● Container
  • 11. Entities ● Store ● State ● Action ● Reducer ● Epic ● Module ● Service ● Widget ● Container
  • 12. ● Store ● State ● Action ● Reducer ● Epic Entities ● Module ● Service ● Widget ● Container
  • 13. ● Store ● State ● Action ● Reducer ● Epic Entities ● Module ● Service ● Widget ● Container
  • 14. ● Store ● State ● Action ● Reducer ● Epic Entities ● Module ● Service ● Widget ● Container
  • 15. Key Concepts 1 | UI is always represented by the current state interface AppState { data: DataState; ui: UIState; } interface UIState { layoutState: LayoutState; sidebarStructure: SidebarStructure; spinnersState: SpinnersState; } Interface SpinnersState { topics: boolean; paginatedTable: boolean; reviewsModal: boolean; filter: boolean; }
  • 16. Key Concepts 2 | UI is declaring only what happened this.ngRedux.dispatch(this.actions.topicExpanded(data.topic)) case TopicsActions.expandedTopic: const raw = lastState.raw.slice(0); const index = _.findIndex(lastState.raw, { id: action.payload }); raw[index] = { ...raw[index], expanded: true }; return { ...lastState, raw } Action Reducer State
  • 17. 3 | Data is fetched in response to UI actions Key Concepts Topic Expanded Fetch Topic Products Call API Fetch Topic Products SuccessEPIC
  • 18. 4 | Front end is decoupled from Full Stack Backend Key Concepts FRONT-END FULL-STACK
  • 19. 4 | Front end is decoupled from Full Stack Backend Key Concepts ● Front end specialists work with simple mock json server ○ Not dependent on server environment - Always works ○ Easy to create UI edge cases ○ Use Demo for design product review usability testing QA ● Full stack developers will connect the UI to the backend ○ Deal with environment CI - Deploy first ○ Deals only with how to retrieve data ○ Work on API Logging Monitoring Analytics Caching
  • 20. Key Concepts 5 | Current UI and Future UI GA Related Info | Moderation Beta-3 All Filters | Dynamic Favorites Beta-2 Drill-Down Chart | Search | 3 Filters Beta-1 Static Favorites | 2 Filters | Products insights-components master yotpo-internal-master insights-ui
  • 21. Key Concepts 5 | Current UI and Future UI GA Related Info | Moderation Beta-3 All Filters | Dynamic Favorites Beta-2 Drill-Down Chart | Search | 3 Filters Beta-1 Static Favorites | 2 Filters | Products master yotpo-internal-master Beta-1 Static Favorites | 2 Filters | Products insights-components insights-ui
  • 22. Benefits ● Start working immediately without a backend ● Get to design product review quicker ● Leverage Speciality (Frontend / Backend / CI) ● Ability to offload work to outsource ● End2End tests are easier and can be splitted for UI and Data
  • 23. Challenges ● Communication ● Identifying responsibility between teams ● Merges between future and current UI - Regression Risk ● High quality components VS More components ● How much further should future UI advance? ● Deepen the Inequality - knowledge sharing