SlideShare a Scribd company logo
Tools & Projects
Dec 2018 Edition
by Jesus Manuel Olivas / weKnow
$ whoami
Jesus Manuel Olivas
jmolivas@weknowinc.com
jmolivas
jmolivas
drupal.org/u/jmolivas
jmolivas.weknowinc.com
Mexicali

Mexico + California
Calexico

California + Mexico
$ ifconfig
weAre
weKnow
weGive
3,300,780
JSON Server
https://github.com/typicode/json-server
Local installation
npm install -g json-server
Create a db.json file with some data
{
"posts": [
{ "id": 1, "title": "Lorem Ipsum", "views": 254, "user_id": 123 },
{ "id": 2, "title": "Sic Dolor amet", "views": 65, "user_id": 456 }
],
"users": [
{ "id": 123, "name": "John Doe" },
{ "id": 456, "name": "Jane Doe" }
],
"comments": [
{ "id": 987, "post_id": 1, "body": "Consectetur adipiscing elit” },
{ "id": 995, "post_id": 1, "body": "Nam molestie pellentesque dui"}
]
}
Start JSON Server
json-server --watch db.json
Resources
* http://localhost:3000/posts
* http://localhost:3000/users
* http://localhost:3000/comments
Home
* http://localhost:3000
Add records using lowDB
curl -X POST "http://localhost:3000/posts" 
-H "accept: application/json" 
-H "Content-Type: application/json" 
-d '{ "title": "Post created from the CLI", "views":100, "user_id":123}'
https://github.com/typicode/lowdb
JSON GraphQL Server
https://github.com/marmelab/json-graphql-server
Local installation
npm install -g json-graphql-server
Create a db.js file with some data
module.exports = {
{
"posts": [
{ "id": 1, "title": "Lorem Ipsum", "views": 254, "user_id": 123 },
{ "id": 2, "title": "Sic Dolor amet", "views": 65, "user_id": 456 }
],
"users": [
{ "id": 123, "name": "John Doe" },
{ "id": 456, "name": "Jane Doe" }
],
"comments": [
{ "id": 987, "post_id": 1, "body": "Consectetur adipiscing elit” },
{ "id": 995, "post_id": 1, "body": "Nam molestie pellentesque dui"}
]
}
}
Start JSON GraphQL Server
{
allPosts {
id
title
User {
id
name
}
}
}
json-graphql-server db.js
react-jsonschema-form
https://github.com/mozilla-services/react-jsonschema-form
Create React App
npx create-react-app my-app
Add react-jsonschema-form dependency
$ npm install react-jsonschema-form --save
Add react-jsonschema-form-semanticui dependency
$ npm install react-jsonschema-form-semanticui —-save
Schema
# forms/todo.js
export const schema = {
title: "Todo Form",
type: "object",
required: ["title"],
properties: {
title: {type: "string", title: "Title", default: "A new task"},
done: {type: "boolean", title: "Done?", default: false}
}
};
Render using ReactJS
import React, { Component } from "react";
import Form from "react-jsonschema-form";
import {schema} from ‘./forms/todo';
const log = (type) => console.log.bind(console, type);
class App extends Component {
render() {
return (
<div className="App">
<Form schema={schema}
onChange={log(“changed")} onSubmit={log(“submitted”) onError={log("errors")} />
</div>
)
}
}
export default App;
Schema + uiSchema + formData
# forms/registration.js
export const schema = {
title: "Todo Form",
type: “object"
}
};
export const uiSchema = {
"firstName": {
"ui:autofocus": true,
"ui:emptyValue": ""
}
}
export const formData = {
"firstName": "Chuck",
"lastName": “Norris"
}
Render using ReactJS
import React,{ Component } from "react";
import Form from "react-jsonschema-form";
import {schema, formData, uiSchema} from './forms/registration';
const log = (type) => console.log.bind(console, type);
class App extends Component {
render() {
return (
<div className="App">
<Form schema={schema} uiSchema={uiSchema} formData={formData}
onChange={log(“changed")} onSubmit={log(“submitted”) onError={log("errors")} />
</div>
)
}
}
export default App;
JSON Schema Resources
> http://json-schema.org
> https://mozilla-services.github.io/react-jsonschema-form
> https://react.semantic-ui.com/layouts/theming
> https://nilportugues.github.io/react-jsonschema-form-semanticui
docz
https://www.docz.site/
Getting Started
mkdir docz
Add dependencies (make sure you add `docz-theme-default`)
yarn add docz
yarn add docz-theme-default
Run it
yarn docz dev
hello-world.mdx
---
name: Hello world
route: /hello-world
---
# Hello world
Hello, I'm a mdx file!
> Lorem ipsum
hello-world-textarea.mdx
—
name: Hello textarea
route: /hello-textarea
---
# Hello world
Hello, I'm still a mdx file, but now I have a textarea element
```
<textarea>
Hello there, this is some text in a text area
</textarea>
```
<textarea>
Hello there, this is some text in a text area
</textarea>
components/Button.mdx
—
name: Button
menu: Components
---
import { Playground, PropsTable } from 'docz'
import { Button } from './Button'
# Button
Buttons make common actions more obvious and help users more easily perform
them. Buttons use labels and sometimes icons to communicate the action that
will occur when the user touches them.
<Button>Click me</Button>
Other tools
Other tools
> https://codesandbox.io
> https://runkit.com
> https://www.prisma.io
> https://code.visualstudio.com
> https://www.netlify.com
Thank you … Questions?

More Related Content

PDF
History of jQuery
PDF
Phoenix + Reactで 社内システムを 密かに作ってる
PDF
Use Kotlin scripts and Clova SDK to build your Clova extension
PDF
The Ring programming language version 1.8 book - Part 49 of 202
PDF
Server Side Events
PDF
A evolução da persistência de dados (com sqlite) no android
PDF
HeadCouch - CouchDB PHP Client
History of jQuery
Phoenix + Reactで 社内システムを 密かに作ってる
Use Kotlin scripts and Clova SDK to build your Clova extension
The Ring programming language version 1.8 book - Part 49 of 202
Server Side Events
A evolução da persistência de dados (com sqlite) no android
HeadCouch - CouchDB PHP Client

What's hot (19)

PPTX
Goa tutorial
PDF
Mongo db for c# developers
PDF
Mongo db for C# Developers
PDF
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDB
PDF
The Ring programming language version 1.7 book - Part 47 of 196
PPTX
Using Change Streams to Keep Up with Your Data
PDF
Introduction to ECMAScript 2015
PPTX
Introduction to the new official C# Driver developed by 10gen
PDF
JavaScript Promise
PDF
Getting Started with MongoDB: 4 Application Designs
PPTX
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
PDF
Do something in 5 with gas 9-copy between databases with oauth2
PDF
jQuery in 15 minutes
PPTX
JavaScript Promises
PPTX
Bare-knuckle web development
PDF
Desenvolvimento web com Ruby on Rails (parte 5)
PDF
Sebastian Schmidt, Rachel Myers - How To Go Serverless And Not Violate The GD...
PPTX
Html indexed db
PPTX
Cnam azure 2014 mobile services
Goa tutorial
Mongo db for c# developers
Mongo db for C# Developers
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDB
The Ring programming language version 1.7 book - Part 47 of 196
Using Change Streams to Keep Up with Your Data
Introduction to ECMAScript 2015
Introduction to the new official C# Driver developed by 10gen
JavaScript Promise
Getting Started with MongoDB: 4 Application Designs
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Do something in 5 with gas 9-copy between databases with oauth2
jQuery in 15 minutes
JavaScript Promises
Bare-knuckle web development
Desenvolvimento web com Ruby on Rails (parte 5)
Sebastian Schmidt, Rachel Myers - How To Go Serverless And Not Violate The GD...
Html indexed db
Cnam azure 2014 mobile services
Ad

Similar to Tools and Projects Dec 2018 Edition (20)

PPTX
Python Code Camp for Professionals 3/4
KEY
Paris js extensions
PPTX
Big Data for each one of us
PDF
GDI Seattle - Intro to JavaScript Class 4
PDF
前端MVC 豆瓣说
PDF
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
PDF
WordPress Realtime - WordCamp São Paulo 2015
PDF
GraphQL - when REST API is not enough - lessons learned
PPTX
SharePoint Conference 2018 - APIs, APIs everywhere!
KEY
CouchDB on Android
PDF
第一次用Parse就深入淺出
PDF
Understanding backbonejs
PDF
Rails GUI Development with Ext JS
PPTX
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...
PDF
Rails is not just Ruby
PDF
Backbone.js — Introduction to client-side JavaScript MVC
PDF
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
PDF
Specification-Driven Development of REST APIs by Alexander Zinchuk
PDF
Source Code for Dpilot
PDF
Dpilot - Source Code with Snapshots
Python Code Camp for Professionals 3/4
Paris js extensions
Big Data for each one of us
GDI Seattle - Intro to JavaScript Class 4
前端MVC 豆瓣说
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
WordPress Realtime - WordCamp São Paulo 2015
GraphQL - when REST API is not enough - lessons learned
SharePoint Conference 2018 - APIs, APIs everywhere!
CouchDB on Android
第一次用Parse就深入淺出
Understanding backbonejs
Rails GUI Development with Ext JS
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...
Rails is not just Ruby
Backbone.js — Introduction to client-side JavaScript MVC
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
Specification-Driven Development of REST APIs by Alexander Zinchuk
Source Code for Dpilot
Dpilot - Source Code with Snapshots
Ad

More from Jesus Manuel Olivas (20)

PDF
Remix & GraphQL: A match made in heaven with type-safety DX
PDF
Drupal 10 Party GraphQL
PDF
How to use Drupal to create editorial experiences your content creators will...
PDF
Beyond Static: Building a Dynamic Application with Gatsby
PDF
Drupal, GraphQL, Views, View Modes and Gatsby for a US Gov site CMS Philly
PDF
Embracing the modern web using a Headless CMS with GatsbyJS CMS Philly
PDF
Embracing the modern web using a Headless CMS with GatsbyJS Stanford
PDF
Building a modern application using Symfony API Platform and GatsbyJS PHP QRO
PDF
Building a dynamic application with GatsbyJS-Tec-Mexicali
PDF
Building a modern web application in the cloud partnercon
PDF
Embracing the modern web using Drupal as a Headless CMS with Gatsby BADCamp
PDF
Blazing fast sites using Blaze, Hybrid CMS NYC
PDF
Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC
PDF
Writing a slack chatbot seattle
PDF
Building a Modern Web Application in the Cloud TecNerd
PDF
How to keep Drupal relevant in the Git-based and API-driven CMS era Florida
PDF
How to keep Drupal relevant in the Git-based and API-driven CMS era DrupalCampNJ
PDF
Creating a modern web application using Symfony API Platform Atlanta
PDF
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
PDF
Battle of the CMS DrupalCampLA
Remix & GraphQL: A match made in heaven with type-safety DX
Drupal 10 Party GraphQL
How to use Drupal to create editorial experiences your content creators will...
Beyond Static: Building a Dynamic Application with Gatsby
Drupal, GraphQL, Views, View Modes and Gatsby for a US Gov site CMS Philly
Embracing the modern web using a Headless CMS with GatsbyJS CMS Philly
Embracing the modern web using a Headless CMS with GatsbyJS Stanford
Building a modern application using Symfony API Platform and GatsbyJS PHP QRO
Building a dynamic application with GatsbyJS-Tec-Mexicali
Building a modern web application in the cloud partnercon
Embracing the modern web using Drupal as a Headless CMS with Gatsby BADCamp
Blazing fast sites using Blaze, Hybrid CMS NYC
Embracing the modern web using Drupal as Headless CMS with GatsbyJS NYC
Writing a slack chatbot seattle
Building a Modern Web Application in the Cloud TecNerd
How to keep Drupal relevant in the Git-based and API-driven CMS era Florida
How to keep Drupal relevant in the Git-based and API-driven CMS era DrupalCampNJ
Creating a modern web application using Symfony API Platform Atlanta
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
Battle of the CMS DrupalCampLA

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Modernizing your data center with Dell and AMD
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
A Presentation on Artificial Intelligence
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
KodekX | Application Modernization Development
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Modernizing your data center with Dell and AMD
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Review of recent advances in non-invasive hemoglobin estimation
Network Security Unit 5.pdf for BCA BBA.
A Presentation on Artificial Intelligence
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Weekly Chronicles - August'25 Week I
KodekX | Application Modernization Development

Tools and Projects Dec 2018 Edition

  • 1. Tools & Projects Dec 2018 Edition by Jesus Manuel Olivas / weKnow
  • 2. $ whoami Jesus Manuel Olivas jmolivas@weknowinc.com jmolivas jmolivas drupal.org/u/jmolivas jmolivas.weknowinc.com
  • 8. Local installation npm install -g json-server Create a db.json file with some data { "posts": [ { "id": 1, "title": "Lorem Ipsum", "views": 254, "user_id": 123 }, { "id": 2, "title": "Sic Dolor amet", "views": 65, "user_id": 456 } ], "users": [ { "id": 123, "name": "John Doe" }, { "id": 456, "name": "Jane Doe" } ], "comments": [ { "id": 987, "post_id": 1, "body": "Consectetur adipiscing elit” }, { "id": 995, "post_id": 1, "body": "Nam molestie pellentesque dui"} ] }
  • 9. Start JSON Server json-server --watch db.json Resources * http://localhost:3000/posts * http://localhost:3000/users * http://localhost:3000/comments Home * http://localhost:3000
  • 10. Add records using lowDB curl -X POST "http://localhost:3000/posts" -H "accept: application/json" -H "Content-Type: application/json" -d '{ "title": "Post created from the CLI", "views":100, "user_id":123}' https://github.com/typicode/lowdb
  • 12. Local installation npm install -g json-graphql-server Create a db.js file with some data module.exports = { { "posts": [ { "id": 1, "title": "Lorem Ipsum", "views": 254, "user_id": 123 }, { "id": 2, "title": "Sic Dolor amet", "views": 65, "user_id": 456 } ], "users": [ { "id": 123, "name": "John Doe" }, { "id": 456, "name": "Jane Doe" } ], "comments": [ { "id": 987, "post_id": 1, "body": "Consectetur adipiscing elit” }, { "id": 995, "post_id": 1, "body": "Nam molestie pellentesque dui"} ] } }
  • 13. Start JSON GraphQL Server { allPosts { id title User { id name } } } json-graphql-server db.js
  • 15. Create React App npx create-react-app my-app Add react-jsonschema-form dependency $ npm install react-jsonschema-form --save Add react-jsonschema-form-semanticui dependency $ npm install react-jsonschema-form-semanticui —-save
  • 16. Schema # forms/todo.js export const schema = { title: "Todo Form", type: "object", required: ["title"], properties: { title: {type: "string", title: "Title", default: "A new task"}, done: {type: "boolean", title: "Done?", default: false} } };
  • 17. Render using ReactJS import React, { Component } from "react"; import Form from "react-jsonschema-form"; import {schema} from ‘./forms/todo'; const log = (type) => console.log.bind(console, type); class App extends Component { render() { return ( <div className="App"> <Form schema={schema} onChange={log(“changed")} onSubmit={log(“submitted”) onError={log("errors")} /> </div> ) } } export default App;
  • 18. Schema + uiSchema + formData # forms/registration.js export const schema = { title: "Todo Form", type: “object" } }; export const uiSchema = { "firstName": { "ui:autofocus": true, "ui:emptyValue": "" } } export const formData = { "firstName": "Chuck", "lastName": “Norris" }
  • 19. Render using ReactJS import React,{ Component } from "react"; import Form from "react-jsonschema-form"; import {schema, formData, uiSchema} from './forms/registration'; const log = (type) => console.log.bind(console, type); class App extends Component { render() { return ( <div className="App"> <Form schema={schema} uiSchema={uiSchema} formData={formData} onChange={log(“changed")} onSubmit={log(“submitted”) onError={log("errors")} /> </div> ) } } export default App;
  • 20. JSON Schema Resources > http://json-schema.org > https://mozilla-services.github.io/react-jsonschema-form > https://react.semantic-ui.com/layouts/theming > https://nilportugues.github.io/react-jsonschema-form-semanticui
  • 22. Getting Started mkdir docz Add dependencies (make sure you add `docz-theme-default`) yarn add docz yarn add docz-theme-default Run it yarn docz dev
  • 23. hello-world.mdx --- name: Hello world route: /hello-world --- # Hello world Hello, I'm a mdx file! > Lorem ipsum
  • 24. hello-world-textarea.mdx — name: Hello textarea route: /hello-textarea --- # Hello world Hello, I'm still a mdx file, but now I have a textarea element ``` <textarea> Hello there, this is some text in a text area </textarea> ``` <textarea> Hello there, this is some text in a text area </textarea>
  • 25. components/Button.mdx — name: Button menu: Components --- import { Playground, PropsTable } from 'docz' import { Button } from './Button' # Button Buttons make common actions more obvious and help users more easily perform them. Buttons use labels and sometimes icons to communicate the action that will occur when the user touches them. <Button>Click me</Button>
  • 27. Other tools > https://codesandbox.io > https://runkit.com > https://www.prisma.io > https://code.visualstudio.com > https://www.netlify.com
  • 28. Thank you … Questions?