SlideShare une entreprise Scribd logo
1  sur  27
Opensourceman
by Andrii Vandakurov, frontend tech lead
eleks.com
Agenda
● What is Open Source
● Web-based hosting service
● Create demo project
● NPM stuff
● Public page
● Continuous integration
● Static site generators
● Enhancing our site
● Where to host
● How to organise the project
● Real life examples
twitter: Toastman_
github: toastman
Free software movement
Freedom to distribute and not freedom from cost.
Richard Stallman formally founded the movement in 1983 by
launching the GNU Project
1983 2014
● Co-founder of League for
Programming Freedom
● Main author of free
software licenses
● As of 2016, he has
received fifteen honorary
doctorates and
professorships
Open Source (1998)
Computer software with its source
code made available with a license
in which the copyright holder
provides the rights to study, change,
and distribute the software to
anyone and for any purpose.
Web-based hosting service
Lets create our open source project
Tech stack: ES6, Webpack, SASS, Jasmine
Lets create our open source project
NPM scripts
This runs an arbitrary command from a package's "scripts" object.
{
"name": “itweekenddemo",
...
"scripts": {
"test": "node_modules/.bin/jasmine JASMINE_CONFIG_PATH=jasmine.json",
"dev": "node_modules/.bin/webpack-dev-server",
"build": "node_modules/.bin/webpack"
},
"devDependencies": {
...
}
}
// run from CLI
npm test
npm run dev
npm run build
Online Markdown Editor: http://dillinger.io/
Update README file
Github pages (gh-pages branch)
Public url http://username.github.io/projectname
Gh-pages sync with master
Publish to NPM
// package.json
{
"name": “itweekenddemo",
...
"version": “0.0.1”,
...
}
// run from CLI
npm publish
// run from another project
npm install itweekenddemo —save
Share your package with the world
// insert in your html
<script src=“node_modules/itweekenddemo/dist/scroller.bundle.js"></script>
Local NPM package development
// run from CLI
cd ~/projects/node-redis # go into the package directory
npm link # creates global link
cd ~/projects/node-bloggy # go into some other package directory.
npm link redis # link-install the package
npm list -g --depth=0 # check your link address
Use npm link for this. It will create a globally-installed symbolic link
from prefix/package-name to the current folder.
Now, any changes to ~/projects/node-redis will be reflected in
~/projects/node-bloggy/node_modules/node-redis/.
Continuous integration (CI)
Is a development practice that requires developers to integrate code
into a shared repository several times a day. Each check-in is then
verified by an automated build, allowing teams to detect problems
early
Travis CI
Travis CI Setup
// .travis.yml
install:
- npm i
language: node_js
node_js:
- "4.2.4"
script:
- npm test
- npm run build
Travis CI Passing build
Static site generators
Is a software that takes some text + templates as input and produces
html files on the output.
Static site generators list: http://www.staticgen.com/
HEXO
Enhancing our site
We can add more functionality to our static site
Live comments
Blog comment hosting service for web
sites and online communities that uses a
networked platform
Email functionality
Email marketing service and the trading
name of its operator, a United States
company.
Backend as a service
● Hosting
● Auth (supports social login providers )
● Storage
● DB
● Cloud Messaging
● Analytics
● Realtime chat (Firechat)
● Collaborative realtime editor (Firepad)
Cloud services provider and backend as a
service company based in San Francisco,
California.
Where to host ?
How to organise ?
Splitting up large codebases into
separate independently versioned
packages is extremely useful for code
sharing. However, making changes
across many repositories is messy and
difficult to track, and testing across
repositories gets complicated really
fast.
https://github.com/lerna/lerna
Projects like Babel, React, Angular, Ember, Meteor, Jest and
many others develop all of their packages within a single repository.
Real life examples (angular-heremaps)
Real life examples (mockapitron)
Helpful links:
● The Cathedral and the Bazaar ( https://goo.gl/G6a55c )
● Github pages (https://pages.github.com/ )
● itweekenddemo ( https://goo.gl/ao8gH0 )
● Static site generators (http://www.staticgen.com/)
● Comparison of CI ( https://goo.gl/G8rGPM )
● Lerna ( https://github.com/lerna/lerna )
QA ?

Contenu connexe

Tendances

New Features Webinar-April
New Features Webinar-AprilNew Features Webinar-April
New Features Webinar-AprilCodefresh
 
Docker at MoneyBird
Docker at MoneyBirdDocker at MoneyBird
Docker at MoneyBirdEdwin Vlieg
 
Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016Andreas Pointner
 
Halton Software Peer 2 Peer Meetup #10
Halton Software Peer 2 Peer Meetup #10Halton Software Peer 2 Peer Meetup #10
Halton Software Peer 2 Peer Meetup #10David Ashton
 
Better delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentBetter delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentJirayut Nimsaeng
 
Custom angular libraries
Custom angular librariesCustom angular libraries
Custom angular librariesMattVaughn9
 
Fixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingFixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingIgalia
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...niallo
 
Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"Fwdays
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreSwaminathan Vetri
 
Docker Workshop Birthday #3
Docker Workshop Birthday #3Docker Workshop Birthday #3
Docker Workshop Birthday #3Jirayut Nimsaeng
 
.NET Core in the Real World
.NET Core in the Real World.NET Core in the Real World
.NET Core in the Real WorldNate Barbettini
 
使用Eclipse快樂的mruby開發
使用Eclipse快樂的mruby開發使用Eclipse快樂的mruby開發
使用Eclipse快樂的mruby開發yamanekko
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientMayflower GmbH
 

Tendances (20)

New Features Webinar-April
New Features Webinar-AprilNew Features Webinar-April
New Features Webinar-April
 
From NodeJS to Rust
From NodeJS to RustFrom NodeJS to Rust
From NodeJS to Rust
 
Docker at MoneyBird
Docker at MoneyBirdDocker at MoneyBird
Docker at MoneyBird
 
Mono Repo
Mono RepoMono Repo
Mono Repo
 
Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016
 
Halton Software Peer 2 Peer Meetup #10
Halton Software Peer 2 Peer Meetup #10Halton Software Peer 2 Peer Meetup #10
Halton Software Peer 2 Peer Meetup #10
 
Better delivery with DevOps Driven Development
Better delivery with DevOps Driven DevelopmentBetter delivery with DevOps Driven Development
Better delivery with DevOps Driven Development
 
Custom angular libraries
Custom angular librariesCustom angular libraries
Custom angular libraries
 
Fixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingFixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blocking
 
It works on my computer
It works on my computerIt works on my computer
It works on my computer
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
 
Net core
Net coreNet core
Net core
 
Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
 
C9 and jwt
C9 and jwtC9 and jwt
C9 and jwt
 
Docker Workshop Birthday #3
Docker Workshop Birthday #3Docker Workshop Birthday #3
Docker Workshop Birthday #3
 
.NET Core in the Real World
.NET Core in the Real World.NET Core in the Real World
.NET Core in the Real World
 
使用Eclipse快樂的mruby開發
使用Eclipse快樂的mruby開發使用Eclipse快樂的mruby開發
使用Eclipse快樂的mruby開發
 
Swift @ IBM
Swift @ IBMSwift @ IBM
Swift @ IBM
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 

En vedette

Elementos de maquinas II... engranajes helicoidales
Elementos de maquinas II... engranajes helicoidalesElementos de maquinas II... engranajes helicoidales
Elementos de maquinas II... engranajes helicoidalesreicersalazar
 
Torres celica final_ppp_ppp_1508
Torres celica final_ppp_ppp_1508Torres celica final_ppp_ppp_1508
Torres celica final_ppp_ppp_1508celika_06
 
Q and a what do i look for in a 10 k
Q and a what do i look for in a 10 kQ and a what do i look for in a 10 k
Q and a what do i look for in a 10 ktpateraki
 
Protecting Patient Information
Protecting Patient InformationProtecting Patient Information
Protecting Patient InformationLGrant2015
 
ELEMENTOS DE POTENCIA
ELEMENTOS DE POTENCIAELEMENTOS DE POTENCIA
ELEMENTOS DE POTENCIAreicersalazar
 

En vedette (20)

Kamrizzaman sir 4, 5 & 6 chapter, 5011
Kamrizzaman sir 4, 5 & 6 chapter, 5011Kamrizzaman sir 4, 5 & 6 chapter, 5011
Kamrizzaman sir 4, 5 & 6 chapter, 5011
 
Beef fattening hand out
Beef fattening  hand outBeef fattening  hand out
Beef fattening hand out
 
Elementos de maquinas II... engranajes helicoidales
Elementos de maquinas II... engranajes helicoidalesElementos de maquinas II... engranajes helicoidales
Elementos de maquinas II... engranajes helicoidales
 
Market_Frame_work_of_Soyabean
Market_Frame_work_of_SoyabeanMarket_Frame_work_of_Soyabean
Market_Frame_work_of_Soyabean
 
Final_03_ November,13_Basic nutrition & Food Chemistry (Short Q & A-Mainul
Final_03_ November,13_Basic nutrition & Food Chemistry (Short Q & A-MainulFinal_03_ November,13_Basic nutrition & Food Chemistry (Short Q & A-Mainul
Final_03_ November,13_Basic nutrition & Food Chemistry (Short Q & A-Mainul
 
Mungbean sector paln_RED
Mungbean sector paln_REDMungbean sector paln_RED
Mungbean sector paln_RED
 
Torres celica final_ppp_ppp_1508
Torres celica final_ppp_ppp_1508Torres celica final_ppp_ppp_1508
Torres celica final_ppp_ppp_1508
 
5010 chapter wise Q4E -sir @ Me
5010 chapter  wise Q4E -sir @ Me5010 chapter  wise Q4E -sir @ Me
5010 chapter wise Q4E -sir @ Me
 
STD for Assignment, Depuk Sir
STD for Assignment, Depuk SirSTD for Assignment, Depuk Sir
STD for Assignment, Depuk Sir
 
Q and a what do i look for in a 10 k
Q and a what do i look for in a 10 kQ and a what do i look for in a 10 k
Q and a what do i look for in a 10 k
 
Fruit garden sub sector paln_RED
Fruit garden sub sector paln_REDFruit garden sub sector paln_RED
Fruit garden sub sector paln_RED
 
Protecting Patient Information
Protecting Patient InformationProtecting Patient Information
Protecting Patient Information
 
FISH Training Module for RED
FISH Training Module for REDFISH Training Module for RED
FISH Training Module for RED
 
Final Baseline Survey Report on Imitation Gold Jewellery-PACE, PKSF, Banglade...
Final Baseline Survey Report on Imitation Gold Jewellery-PACE, PKSF, Banglade...Final Baseline Survey Report on Imitation Gold Jewellery-PACE, PKSF, Banglade...
Final Baseline Survey Report on Imitation Gold Jewellery-PACE, PKSF, Banglade...
 
sesame sub sector paln_RED
sesame sub sector paln_REDsesame sub sector paln_RED
sesame sub sector paln_RED
 
Poultry sub sector paln_RED
Poultry sub sector paln_REDPoultry sub sector paln_RED
Poultry sub sector paln_RED
 
Fish sub sector paln_RED
Fish sub sector paln_REDFish sub sector paln_RED
Fish sub sector paln_RED
 
Kharkivjs javascript debugging. know your enemy
Kharkivjs   javascript debugging. know your enemyKharkivjs   javascript debugging. know your enemy
Kharkivjs javascript debugging. know your enemy
 
ELEMENTOS DE POTENCIA
ELEMENTOS DE POTENCIAELEMENTOS DE POTENCIA
ELEMENTOS DE POTENCIA
 
TypeCoach-INTJ
TypeCoach-INTJTypeCoach-INTJ
TypeCoach-INTJ
 

Similaire à Opensourceman ( url for slides with animations https://goo.gl/R638tW )

Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at workSammy Fung
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07Jorge Hidalgo
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChang W. Doh
 
3 Things Everyone Knows About Node JS That You Don't
3 Things Everyone Knows About Node JS That You Don't3 Things Everyone Knows About Node JS That You Don't
3 Things Everyone Knows About Node JS That You Don'tF5 Buddy
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015{code}
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: KeynoteDocker-Hanoi
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
 
IDEALIZE 2023 - NodeJS & Firebase Session
IDEALIZE 2023 - NodeJS & Firebase SessionIDEALIZE 2023 - NodeJS & Firebase Session
IDEALIZE 2023 - NodeJS & Firebase SessionBrion Mario
 
Open Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache FoundationOpen Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache FoundationMohammad Kotb
 
Fullstack workshop
Fullstack workshopFullstack workshop
Fullstack workshopAssaf Gannon
 
Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?AFUP_Limoges
 
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and CodenvyeXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and CodenvyeXo Platform
 
Open Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache FoundationOpen Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache FoundationMohammad Kotb
 

Similaire à Opensourceman ( url for slides with animations https://goo.gl/R638tW ) (20)

Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
 
Explore asp.net core 3.0 features
Explore asp.net core 3.0 featuresExplore asp.net core 3.0 features
Explore asp.net core 3.0 features
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
 
3 Things Everyone Knows About Node JS That You Don't
3 Things Everyone Knows About Node JS That You Don't3 Things Everyone Knows About Node JS That You Don't
3 Things Everyone Knows About Node JS That You Don't
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
Open source day in .NET
Open source day in .NETOpen source day in .NET
Open source day in .NET
 
IDEALIZE 2023 - NodeJS & Firebase Session
IDEALIZE 2023 - NodeJS & Firebase SessionIDEALIZE 2023 - NodeJS & Firebase Session
IDEALIZE 2023 - NodeJS & Firebase Session
 
Open Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache FoundationOpen Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache Foundation
 
Fullstack workshop
Fullstack workshopFullstack workshop
Fullstack workshop
 
Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?
 
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and CodenvyeXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
 
Open Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache FoundationOpen Source, Sourceforge Projects, & Apache Foundation
Open Source, Sourceforge Projects, & Apache Foundation
 

Plus de Андрей Вандакуров (6)

Lviv js2017 (eleks)
Lviv js2017 (eleks)Lviv js2017 (eleks)
Lviv js2017 (eleks)
 
Rare frontend testing
Rare frontend testingRare frontend testing
Rare frontend testing
 
Pivorak.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
 
Frontend. Global domination.
Frontend. Global domination.Frontend. Global domination.
Frontend. Global domination.
 
Design and Code. Work should be fun.
Design and Code. Work should be fun.Design and Code. Work should be fun.
Design and Code. Work should be fun.
 
Webpack slides
Webpack slidesWebpack slides
Webpack slides
 

Dernier

Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 

Dernier (20)

Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 

Opensourceman ( url for slides with animations https://goo.gl/R638tW )

  • 1. Opensourceman by Andrii Vandakurov, frontend tech lead eleks.com
  • 2. Agenda ● What is Open Source ● Web-based hosting service ● Create demo project ● NPM stuff ● Public page ● Continuous integration ● Static site generators ● Enhancing our site ● Where to host ● How to organise the project ● Real life examples twitter: Toastman_ github: toastman
  • 3. Free software movement Freedom to distribute and not freedom from cost. Richard Stallman formally founded the movement in 1983 by launching the GNU Project 1983 2014 ● Co-founder of League for Programming Freedom ● Main author of free software licenses ● As of 2016, he has received fifteen honorary doctorates and professorships
  • 4. Open Source (1998) Computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose.
  • 6. Lets create our open source project Tech stack: ES6, Webpack, SASS, Jasmine
  • 7. Lets create our open source project
  • 8. NPM scripts This runs an arbitrary command from a package's "scripts" object. { "name": “itweekenddemo", ... "scripts": { "test": "node_modules/.bin/jasmine JASMINE_CONFIG_PATH=jasmine.json", "dev": "node_modules/.bin/webpack-dev-server", "build": "node_modules/.bin/webpack" }, "devDependencies": { ... } } // run from CLI npm test npm run dev npm run build
  • 9. Online Markdown Editor: http://dillinger.io/ Update README file
  • 10. Github pages (gh-pages branch) Public url http://username.github.io/projectname
  • 12. Publish to NPM // package.json { "name": “itweekenddemo", ... "version": “0.0.1”, ... } // run from CLI npm publish // run from another project npm install itweekenddemo —save Share your package with the world // insert in your html <script src=“node_modules/itweekenddemo/dist/scroller.bundle.js"></script>
  • 13. Local NPM package development // run from CLI cd ~/projects/node-redis # go into the package directory npm link # creates global link cd ~/projects/node-bloggy # go into some other package directory. npm link redis # link-install the package npm list -g --depth=0 # check your link address Use npm link for this. It will create a globally-installed symbolic link from prefix/package-name to the current folder. Now, any changes to ~/projects/node-redis will be reflected in ~/projects/node-bloggy/node_modules/node-redis/.
  • 14. Continuous integration (CI) Is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early
  • 16. Travis CI Setup // .travis.yml install: - npm i language: node_js node_js: - "4.2.4" script: - npm test - npm run build
  • 18. Static site generators Is a software that takes some text + templates as input and produces html files on the output. Static site generators list: http://www.staticgen.com/ HEXO
  • 19. Enhancing our site We can add more functionality to our static site
  • 20. Live comments Blog comment hosting service for web sites and online communities that uses a networked platform
  • 21. Email functionality Email marketing service and the trading name of its operator, a United States company.
  • 22. Backend as a service ● Hosting ● Auth (supports social login providers ) ● Storage ● DB ● Cloud Messaging ● Analytics ● Realtime chat (Firechat) ● Collaborative realtime editor (Firepad) Cloud services provider and backend as a service company based in San Francisco, California.
  • 24. How to organise ? Splitting up large codebases into separate independently versioned packages is extremely useful for code sharing. However, making changes across many repositories is messy and difficult to track, and testing across repositories gets complicated really fast. https://github.com/lerna/lerna Projects like Babel, React, Angular, Ember, Meteor, Jest and many others develop all of their packages within a single repository.
  • 25. Real life examples (angular-heremaps)
  • 26. Real life examples (mockapitron)
  • 27. Helpful links: ● The Cathedral and the Bazaar ( https://goo.gl/G6a55c ) ● Github pages (https://pages.github.com/ ) ● itweekenddemo ( https://goo.gl/ao8gH0 ) ● Static site generators (http://www.staticgen.com/) ● Comparison of CI ( https://goo.gl/G8rGPM ) ● Lerna ( https://github.com/lerna/lerna ) QA ?