Enterprise Node - Code Discoverability

25
ENTERPRISE NODE CODE DISCOVERY

Transcript of Enterprise Node - Code Discoverability

Page 1: Enterprise Node - Code Discoverability

ENTERPRISE NODECODE DISCOVERY

Page 2: Enterprise Node - Code Discoverability

ABOUT ME

Tech Lead @ MLS

Medium: @kurtiskempleTwitter: @kurtiskemple

GitHub: @kkemple

Page 3: Enterprise Node - Code Discoverability

REPO FOR THIS WEBINARKKEMPLE/AWESOME-ENTERPRISE-WEB-SERVICE

Page 4: Enterprise Node - Code Discoverability

WHY IS CODE DISCOVERY IMPORTANT?

Page 5: Enterprise Node - Code Discoverability

BENEFITS

• Prevents Code Duplication

• Improves Documentation Processes

• Improves Cross-team Communication

Page 6: Enterprise Node - Code Discoverability

BUILDING PACKAGES FOR DISCOVERABILITY

Page 7: Enterprise Node - Code Discoverability

DEFINING APIS

• Naming Conventions Should be Intuitive

• The API Should be as Simple As Possible (jQuery)

• The API Should be First Level of Documentation

Page 8: Enterprise Node - Code Discoverability

PACKAGE NAMING CONVENTIONS

• Naming Conventions Should be Intuitive

(<org>.UI.components.forms)

• Naming Conventions Should be Consistent

• Naming Conventions Should be Descriptive

Page 9: Enterprise Node - Code Discoverability

DOCUMENTATION

• Anything Public Should be Documented

• Provide Example Usages

• The More Information You Provide About What and Why

the Better

• Types Are a Form of Documentation (Flow, Typescript)

Page 10: Enterprise Node - Code Discoverability

SEMVAR (SEMANTIC VERSIONING)

• Allows for Individual Updates

• Helps Show Maturity of Module

• Forces Thought Into Updates

Page 11: Enterprise Node - Code Discoverability

STORING PACKAGES

Page 12: Enterprise Node - Code Discoverability

SINOPIA

• Open Source Private Registry

• Caches NPM Modules

• Ability to Whitelist/Blacklist Modules

• Search

• https://www.npmjs.com/package/sinopia

Page 13: Enterprise Node - Code Discoverability

NPM ENTERPRISE

• Enterprise Private Registry

• Caches Public NPM Modules

• Ability to Whitelist/Blacklist Modules

• Advanced Search and Dashboard

• https://www.npmjs.com/enterprise

Page 14: Enterprise Node - Code Discoverability

ARTIFACTORY (JFROG)

• Private Registry + Other Artifact Storage

• Caches Public NPM Modules

• Ability to Whitelist/Blacklist Modules

• Advanced Search and Dashboard

• https://www.jfrog.com/artifactory/

Page 15: Enterprise Node - Code Discoverability

INTEGRATING CODE DISCOVERY INTO YOUR WORKFLOW

Page 16: Enterprise Node - Code Discoverability

JS INSPECT

Page 17: Enterprise Node - Code Discoverability

CODE CLIMATE - DUPLICATION ENGINE

Page 18: Enterprise Node - Code Discoverability

SWAGGER API DOCS

Page 19: Enterprise Node - Code Discoverability

JS DOC

Page 20: Enterprise Node - Code Discoverability

RTYPE

Page 21: Enterprise Node - Code Discoverability

FLOW

Page 22: Enterprise Node - Code Discoverability

SEMANTIC-RELEASE

Page 23: Enterprise Node - Code Discoverability

Q&A

Page 24: Enterprise Node - Code Discoverability

• Enterprise Node.js - Code Qualityhttps://www.crowdcast.io/e/enterprise-node-1

• Enterprise Node.js - Code Discoveryhttps://www.crowdcast.io/e/enterprise-node-2

• Enterprise Node.js - Securing Your Environmenthttps://www.crowdcast.io/e/enterprise-node-3

• Enterprise Node.js - Deploying with Dockerhttps://www.crowdcast.io/e/enterprise-node-4

24

ENTERPRISE NODE.JS

Page 25: Enterprise Node - Code Discoverability

JavaScript is replacing Java, Ruby, and .NET as the technology of choice for companies that want to build enterprise software faster, and with fewer resources. Learn about enterprise JavaScript applications at every level of the stack. As well as how to secure, integrate, test, store, monitor, and deploy them.

O’REILLY SOFTWARE ARCHITECTURE CONFERENCEArchitecting For Enterprise in Node.js