SlideShare a Scribd company logo
1 of 19
Flagster
Interns: Person 1 and Vivekanand Rajasekar
Manager: Winston Milling
Team: One-Paint
The Team
Person 1
University 1
Graduation date #1
Vivekanand
Rajasekar
Georgia Tech
One-Paint-UI
One-Paint-UI
One-Paint-UI
SSC
Stores
App
SSC
Stores
App
SSC
Stores
App
Before and After
Open Flagster
UI
Input Store
Number
Toggle
Feature for
that store
Developer
changes code to
switch on a
feature
Update and Test
locally
Update and Test
in acceptance
Update in
Production for all
stores
Value
• Easily enable/disable a UI feature for a specific store
• Piloting features before full deployment
• Mitigate risk
• Cater to different markets more aptly
Developer
Saving time for Developers
Mitigate Risk
Technology
Jest
Testing
Jenkins
Deployment
Sequelize
DB Connection
Manager
Jasmine
Testing
Pivotal Cloud Foundry
Deployment Space
Vue.js
Front-end Framework
MariaDB
DB Server
GitHub
Version Control
Node.js
Back-end Framework
Architecture
CF Instance
Node.js
Server
MariaDB
Server
Queries
DB Container
Port
Port
One-Paint-UI
Flagster-UI
Development Life-Cycle
0
10
20
30
40
50
60
70
80
90
100
21-May
23-May
25-May
27-May
29-May
31-May
2-Jun
4-Jun
6-Jun
8-Jun
10-Jun
12-Jun
14-Jun
16-Jun
18-Jun
20-Jun
22-Jun
24-Jun
26-Jun
28-Jun
30-Jun
2-Jul
4-Jul
6-Jul
8-Jul
10-Jul
12-Jul
14-Jul
16-Jul
18-Jul
20-Jul
22-Jul
24-Jul
26-Jul
28-Jul
30-Jul
1-Aug
3-Aug
PROGRESS(%)
Async Problems
Database Errors
Vue Front-End
UI Pull Request
Backend works in
Acceptance API in Prod
The Future of our Application
• Varied criteria for feature flags
• Role-specific
• Geography-based
• Expansion to other departments
What We Learned
• AGILE
• Extreme Programming
• Pair Programming
• Test-Driven Development
• IPM
• Retro
• Stand-up
• Version Control
• Balanced Team
Questions?
Async Problems
Internship
begins
Backend works in
Acceptance
Markets react to
internship end
date

More Related Content

What's hot

Continuos integration patterns
Continuos integration patternsContinuos integration patterns
Continuos integration patterns
Vikas Gupta
 
Agile Fundamental Skill Set
Agile Fundamental Skill SetAgile Fundamental Skill Set
Agile Fundamental Skill Set
Tsuyoshi Ushio
 

What's hot (20)

Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsAdvanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev Conference
 
Appium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | EdurekaAppium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | Edureka
 
Appium & Jenkins
Appium & JenkinsAppium & Jenkins
Appium & Jenkins
 
See test
See testSee test
See test
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and Selenium
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development Overview
 
Varun_Gupta
Varun_GuptaVarun_Gupta
Varun_Gupta
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Continuos integration patterns
Continuos integration patternsContinuos integration patterns
Continuos integration patterns
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5
 
How Docker Accelerates Continuous Development at Codefresh: Containers #101 M...
How Docker Accelerates Continuous Development at Codefresh: Containers #101 M...How Docker Accelerates Continuous Development at Codefresh: Containers #101 M...
How Docker Accelerates Continuous Development at Codefresh: Containers #101 M...
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Mobile CI
Mobile CIMobile CI
Mobile CI
 
Appium overview
Appium overviewAppium overview
Appium overview
 
Agile Fundamental Skill Set
Agile Fundamental Skill SetAgile Fundamental Skill Set
Agile Fundamental Skill Set
 
Appium basics
Appium basicsAppium basics
Appium basics
 

Similar to THD Final Presentation

Vikas_Singh_updated
Vikas_Singh_updatedVikas_Singh_updated
Vikas_Singh_updated
Vikas Singh
 
Ravinder_Pal_Singh_Resume_Latest
Ravinder_Pal_Singh_Resume_LatestRavinder_Pal_Singh_Resume_Latest
Ravinder_Pal_Singh_Resume_Latest
Ravinder Singh
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16
Mark Cooper
 

Similar to THD Final Presentation (20)

Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testing
 
Vsts ci cd-java
Vsts ci cd-javaVsts ci cd-java
Vsts ci cd-java
 
Vikas_Singh_updated
Vikas_Singh_updatedVikas_Singh_updated
Vikas_Singh_updated
 
Resume2015-V1
Resume2015-V1Resume2015-V1
Resume2015-V1
 
Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?
 
Profile_Ahmad2
Profile_Ahmad2Profile_Ahmad2
Profile_Ahmad2
 
VINODHSRIDHAR_ESRIVIN
VINODHSRIDHAR_ESRIVINVINODHSRIDHAR_ESRIVIN
VINODHSRIDHAR_ESRIVIN
 
Resume_Venugopal
Resume_VenugopalResume_Venugopal
Resume_Venugopal
 
SandraLionsPironEN
SandraLionsPironENSandraLionsPironEN
SandraLionsPironEN
 
Santosh_Liferay_Developer
Santosh_Liferay_DeveloperSantosh_Liferay_Developer
Santosh_Liferay_Developer
 
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
 
Udvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load test
 
Ravinder_Pal_Singh_Resume_Latest
Ravinder_Pal_Singh_Resume_LatestRavinder_Pal_Singh_Resume_Latest
Ravinder_Pal_Singh_Resume_Latest
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16
 
Journey toward3rdplatform
Journey toward3rdplatformJourney toward3rdplatform
Journey toward3rdplatform
 
Devendra_SrJavaJ2eeDeveloper
Devendra_SrJavaJ2eeDeveloperDevendra_SrJavaJ2eeDeveloper
Devendra_SrJavaJ2eeDeveloper
 
Milind's Resume
Milind's ResumeMilind's Resume
Milind's Resume
 
ResumeSDET (1)
ResumeSDET (1)ResumeSDET (1)
ResumeSDET (1)
 

More from Vivek Rajasekar (7)

Ppm design
Ppm designPpm design
Ppm design
 
Day 0
Day 0Day 0
Day 0
 
Day 1
Day 1Day 1
Day 1
 
Day 2
Day 2Day 2
Day 2
 
Intro
IntroIntro
Intro
 
Deploy tools research
Deploy tools researchDeploy tools research
Deploy tools research
 
Thrivent Internship Final Presentation
Thrivent Internship Final PresentationThrivent Internship Final Presentation
Thrivent Internship Final Presentation
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Recently uploaded (20)

Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 

THD Final Presentation

Editor's Notes

  1. J: Hey, I’m Jay… V: …and I’m Vivek. We’ve been working on Flagster, a feature flagging application for the One-Paint team this summer.
  2. J: I attend UCF (go Knights) and will be graduating in 3 semesters. V: I attend GT (go Jackets) and will be graduating in 2 years. V: Before delving into the specifics, what are feature flags in the context of UI’s?
  3. J: Features are independent components in a user interface. Say devs write new feature and it needs to be added, like so. When this feature is added to the production software, it is pushed to all of the stores at once. What are some of the complications with this approach?
  4. J: Features are independent components in a user interface. Say devs write new feature and it needs to be added, like so. When this feature is added to the production software, it is pushed to all of the stores at once. What are some of the complications with this approach?
  5. J: Features are independent components in a user interface. Say devs write new feature and it needs to be added, like so. When this feature is added to the production software, it is pushed to all of the stores at once. What are some of the complications with this approach?
  6. V: This approach allows a single version of the application, pushed from the technology centers to the cloud, to run on every single store in the country. However, we do not have the ability to roll out different features to different stores. That would allow us to pilot features to a subset of the stores and test their feasibility quickly. V: How does having Flagster compare to a single version throughout the country?
  7. V: This approach allows a single version of the application, pushed from the technology centers to the cloud, to run on every single store in the country. However, we do not have the ability to roll out different features to different stores. That would allow us to pilot features to a subset of the stores and test their feasibility quickly. V: How does having Flagster compare to a single version throughout the country?
  8. V: This approach allows a single version of the application, pushed from the technology centers to the cloud, to run on every single store in the country. However, we do not have the ability to roll out different features to different stores. That would allow us to pilot features to a subset of the stores and test their feasibility quickly. V: How does having Flagster compare to a single version throughout the country?
  9. J: Currently, the devs must delve into the codebase and change the feature flag if they want to enable or disable it, then go through the arduous process of deployment. With our application, the feature flags can be managed simply in a user interface and can be enabled or disabled, by store, in seconds. J: What direct value does this application add?
  10. V: The UI allows anyone to enable features saving the developer’s time for other projects. V: The ability to pilot to a subset of the stores allows us to rapidly test the feasibility of features without deployment to 2000 stores. V: Paint accounts for 8 of Home Depot’s 100 Billion dollars of annual revenue. In mayday situations if a feature is experiencing problems, we can easily turn it off without any changes to the production level code. V: The United States is a diverse country where different regions have different cultures and purchasing habits. Feature Flagging will allow us to cater features to certain regions. V: What technologies were used to create Flagster?
  11. J: We used several technologies to build our application, with the major ones being Node.js for our back-end as it is a very fast framework which was needed because we are running multiple queries. For our front-end, we used Vue.js, as it was one of the top frameworks and is very easy to learn, as we both had very little experience in front-end development prior to the internship. J: Now the question is how do these varied technologies come together?
  12. V: The DB stores what features contain what stores. V: The Node server handles API calls from the UIs and communicates with the DB Server. V: When an associate logs in to the UI, they get the features for their store. V: The Flagster UI, created using VUE, sets the features for the stores. V: What did the development of this app look like?
  13. J: So up to now, we are in production and our app is ready to be iterated upon, to further improve it. And so, what’s planned for the future of our application?
  14. V: Currently, our API is in production, we have integrated the UI to make calls to our UI, and we have a functional Flagster UI. V: W could include role-specific feature flagging so that particular positions can see different Uis. V: We can also include region-based flagging so that we can turn features on and off for entire features. V: Feature Flagging is an app that is not distinct to the One-Paint team, but can be used with any feature-based UI. V: What are some of the methodologies used during the creation of this project?
  15. While we were working on our intern project most of the time, we were also able to enjoy several other experiences.