<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Thinh Nguyen</title>
    <description>The latest articles on DEV Community by Thinh Nguyen (@qt91).</description>
    <link>https://dev.to/qt91</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F193314%2Ff751ca8b-5b94-4616-998f-68df015f8b77.jpeg</url>
      <title>DEV Community: Thinh Nguyen</title>
      <link>https://dev.to/qt91</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/qt91"/>
    <language>en</language>
    <item>
      <title>Notion receiver data Immunizations from Nodejs</title>
      <dc:creator>Thinh Nguyen</dc:creator>
      <pubDate>Thu, 16 Sep 2021 14:17:42 +0000</pubDate>
      <link>https://dev.to/qt91/notion-receiver-data-immunizations-from-nodejs-4e07</link>
      <guid>https://dev.to/qt91/notion-receiver-data-immunizations-from-nodejs-4e07</guid>
      <description>&lt;p&gt;Today we will learning send data to Notion by API&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup new project
&lt;/h2&gt;

&lt;p&gt;At here I use "Express application generator" for fastest setup new project&lt;/p&gt;

&lt;p&gt;Steps:&lt;/p&gt;

&lt;p&gt;1/ Install express-generator&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; express-generator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2/ New project with name &lt;strong&gt;InjectionRegistrationNotion&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;express &lt;span class="k"&gt;**&lt;/span&gt;&lt;span class="nt"&gt;--view&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ejs&lt;span class="k"&gt;**&lt;/span&gt; &lt;span class="k"&gt;**&lt;/span&gt;InjectionRegistrationNotion&lt;span class="k"&gt;**&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8km73cbb62dr4281zxe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8km73cbb62dr4281zxe.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;InjectionRegistrationNotion
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizmbw7s3zgda5hbyalcy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizmbw7s3zgda5hbyalcy.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3/ Start server and get ready for write code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm start // &lt;span class="k"&gt;for &lt;/span&gt;start server this project
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access to localhost:3000&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzonqcjzl7da702g6xitm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzonqcjzl7da702g6xitm.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Great! Everything ready for next step&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's make a Form Injection Registration
&lt;/h2&gt;

&lt;p&gt;For write User Interface, I used &lt;strong&gt;ejs engine&lt;/strong&gt; because it friendly with HTML native&lt;/p&gt;

&lt;p&gt;Let's make a Form Injection Registration&lt;/p&gt;

&lt;p&gt;At file &lt;strong&gt;index.jes&lt;/strong&gt; in &lt;strong&gt;views&lt;/strong&gt; folder&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&amp;lt;&lt;span class="o"&gt;!&lt;/span&gt;DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;&lt;span class="nb"&gt;head&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &amp;lt;title&amp;gt;&amp;lt;%&lt;span class="o"&gt;=&lt;/span&gt; title %&amp;gt;&amp;lt;/title&amp;gt;
  &amp;lt;&lt;span class="nb"&gt;link &lt;/span&gt;&lt;span class="nv"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700"&lt;/span&gt; &lt;span class="nv"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"stylesheet"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &amp;lt;&lt;span class="nb"&gt;link &lt;/span&gt;&lt;span class="nv"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"stylesheet"&lt;/span&gt; &lt;span class="nv"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"https://use.fontawesome.com/releases/v5.5.0/css/all.css"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &amp;lt;&lt;span class="nb"&gt;link &lt;/span&gt;&lt;span class="nv"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"stylesheet"&lt;/span&gt; &lt;span class="nv"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"./stylesheets/style.css"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"testbox"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &amp;lt;form &lt;span class="nv"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt; &lt;span class="nv"&gt;method&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"post"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"banner"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;h1&amp;gt;&amp;lt;%&lt;span class="o"&gt;=&lt;/span&gt; title %&amp;gt;&amp;lt;/h1&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"item"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;p&amp;gt;Name&amp;lt;/p&amp;gt;
      &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"name-item"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &amp;lt;input &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"name"&lt;/span&gt;/&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"item"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;p&amp;gt;Email&amp;lt;/p&amp;gt;
      &amp;lt;input &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"email"&lt;/span&gt;/&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"item"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;p&amp;gt;Phone&amp;lt;/p&amp;gt;
      &amp;lt;input &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"phone"&lt;/span&gt;/&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"item"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;p&amp;gt;Address&amp;lt;/p&amp;gt;
      &amp;lt;input &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"address"&lt;/span&gt;/&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"question"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;p&amp;gt;Gender&amp;lt;/p&amp;gt;
      &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"question-answer"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &amp;lt;div&amp;gt;
          &amp;lt;input &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio"&lt;/span&gt; &lt;span class="nv"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"0"&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio_2"&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sex"&lt;/span&gt;/&amp;gt;
          &amp;lt;label &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio_2"&lt;/span&gt; &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&amp;lt;span&amp;gt;Female&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div&amp;gt;
          &amp;lt;input &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio"&lt;/span&gt; &lt;span class="nv"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"1"&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio_1"&lt;/span&gt; &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sex"&lt;/span&gt;/&amp;gt;
          &amp;lt;label &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio_1"&lt;/span&gt; &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"radio"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&amp;lt;span&amp;gt;Male&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"item"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;p&amp;gt;Note&amp;lt;/p&amp;gt;
      &amp;lt;textarea &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"note"&lt;/span&gt; &lt;span class="nv"&gt;rows&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"3"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&amp;lt;/textarea&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div &lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"btn-block"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &amp;lt;button &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"submit"&lt;/span&gt; &lt;span class="nv"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;Send&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/form&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At file "public/stylesheets/style.css"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;html, body &lt;span class="o"&gt;{&lt;/span&gt;
    min-height: 100%&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

body, div, form, input, &lt;span class="k"&gt;select&lt;/span&gt;, textarea, p &lt;span class="o"&gt;{&lt;/span&gt;
    padding: 0&lt;span class="p"&gt;;&lt;/span&gt;
    margin: 0&lt;span class="p"&gt;;&lt;/span&gt;
    outline: none&lt;span class="p"&gt;;&lt;/span&gt;
    font-family: Roboto, Arial, sans-serif&lt;span class="p"&gt;;&lt;/span&gt;
    font-size: 14px&lt;span class="p"&gt;;&lt;/span&gt;
    color: &lt;span class="c"&gt;#666;&lt;/span&gt;
    line-height: 22px&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

h1 &lt;span class="o"&gt;{&lt;/span&gt;
    position: absolute&lt;span class="p"&gt;;&lt;/span&gt;
    margin: 0&lt;span class="p"&gt;;&lt;/span&gt;
    font-size: 36px&lt;span class="p"&gt;;&lt;/span&gt;
    color: &lt;span class="c"&gt;#fff;&lt;/span&gt;
    z-index: 2&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.testbox &lt;span class="o"&gt;{&lt;/span&gt;
    display: flex&lt;span class="p"&gt;;&lt;/span&gt;
    justify-content: center&lt;span class="p"&gt;;&lt;/span&gt;
    align-items: center&lt;span class="p"&gt;;&lt;/span&gt;
    height: inherit&lt;span class="p"&gt;;&lt;/span&gt;
    padding: 20px&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

form &lt;span class="o"&gt;{&lt;/span&gt;
    width: 100%&lt;span class="p"&gt;;&lt;/span&gt;
    padding: 20px&lt;span class="p"&gt;;&lt;/span&gt;
    border-radius: 6px&lt;span class="p"&gt;;&lt;/span&gt;
    background: &lt;span class="c"&gt;#fff;&lt;/span&gt;
    box-shadow: 0 0 20px 0 &lt;span class="c"&gt;#333;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.banner &lt;span class="o"&gt;{&lt;/span&gt;
    position: relative&lt;span class="p"&gt;;&lt;/span&gt;
    height: 210px&lt;span class="p"&gt;;&lt;/span&gt;
    background-size: cover&lt;span class="p"&gt;;&lt;/span&gt;
    display: flex&lt;span class="p"&gt;;&lt;/span&gt;
    justify-content: center&lt;span class="p"&gt;;&lt;/span&gt;
    align-items: center&lt;span class="p"&gt;;&lt;/span&gt;
    text-align: center&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.banner::after &lt;span class="o"&gt;{&lt;/span&gt;
    content: &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    background-color: rgba&lt;span class="o"&gt;(&lt;/span&gt;0, 0, 0, 0.4&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    position: absolute&lt;span class="p"&gt;;&lt;/span&gt;
    width: 100%&lt;span class="p"&gt;;&lt;/span&gt;
    height: 100%&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

input, textarea, &lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    margin-bottom: 10px&lt;span class="p"&gt;;&lt;/span&gt;
    border: 1px solid &lt;span class="c"&gt;#ccc;&lt;/span&gt;
    border-radius: 3px&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

input &lt;span class="o"&gt;{&lt;/span&gt;
    width: calc&lt;span class="o"&gt;(&lt;/span&gt;100% - 10px&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    padding: 5px&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;select&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    width: 100%&lt;span class="p"&gt;;&lt;/span&gt;
    padding: 7px 0&lt;span class="p"&gt;;&lt;/span&gt;
    background: transparent&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

textarea &lt;span class="o"&gt;{&lt;/span&gt;
    width: calc&lt;span class="o"&gt;(&lt;/span&gt;100% - 12px&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    padding: 5px&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.item:hover p, .item:hover i, .question:hover p, .question label:hover, input:hover::placeholder &lt;span class="o"&gt;{&lt;/span&gt;
    color: &lt;span class="c"&gt;#333;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.item input:hover, .item &lt;span class="k"&gt;select&lt;/span&gt;:hover, .item textarea:hover &lt;span class="o"&gt;{&lt;/span&gt;
    border: 1px solid transparent&lt;span class="p"&gt;;&lt;/span&gt;
    box-shadow: 0 0 6px 0 &lt;span class="c"&gt;#333;&lt;/span&gt;
    color: &lt;span class="c"&gt;#333;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.item &lt;span class="o"&gt;{&lt;/span&gt;
    position: relative&lt;span class="p"&gt;;&lt;/span&gt;
    margin: 10px 0&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

input[type&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"date"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;::-webkit-inner-spin-button &lt;span class="o"&gt;{&lt;/span&gt;
    display: none&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.item i, input[type&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"date"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;::-webkit-calendar-picker-indicator &lt;span class="o"&gt;{&lt;/span&gt;
    position: absolute&lt;span class="p"&gt;;&lt;/span&gt;
    font-size: 20px&lt;span class="p"&gt;;&lt;/span&gt;
    color: &lt;span class="c"&gt;#a9a9a9;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.item i &lt;span class="o"&gt;{&lt;/span&gt;
    right: 1%&lt;span class="p"&gt;;&lt;/span&gt;
    top: 30px&lt;span class="p"&gt;;&lt;/span&gt;
    z-index: 1&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"date"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;::-webkit-calendar-picker-indicator &lt;span class="o"&gt;{&lt;/span&gt;
    right: 0&lt;span class="p"&gt;;&lt;/span&gt;
    z-index: 2&lt;span class="p"&gt;;&lt;/span&gt;
    opacity: 0&lt;span class="p"&gt;;&lt;/span&gt;
    cursor: pointer&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

input[type&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"time"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;::-webkit-inner-spin-button &lt;span class="o"&gt;{&lt;/span&gt;
    margin: 2px 22px 0 0&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

input[type&lt;span class="o"&gt;=&lt;/span&gt;radio], input.other &lt;span class="o"&gt;{&lt;/span&gt;
    display: none&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

label.radio &lt;span class="o"&gt;{&lt;/span&gt;
    position: relative&lt;span class="p"&gt;;&lt;/span&gt;
    display: inline-block&lt;span class="p"&gt;;&lt;/span&gt;
    margin: 5px 20px 10px 0&lt;span class="p"&gt;;&lt;/span&gt;
    cursor: pointer&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.question span &lt;span class="o"&gt;{&lt;/span&gt;
    margin-left: 30px&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

label.radio:before &lt;span class="o"&gt;{&lt;/span&gt;
    content: &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    position: absolute&lt;span class="p"&gt;;&lt;/span&gt;
    top: 2px&lt;span class="p"&gt;;&lt;/span&gt;
    left: 0&lt;span class="p"&gt;;&lt;/span&gt;
    width: 15px&lt;span class="p"&gt;;&lt;/span&gt;
    height: 15px&lt;span class="p"&gt;;&lt;/span&gt;
    border-radius: 50%&lt;span class="p"&gt;;&lt;/span&gt;
    border: 2px solid &lt;span class="c"&gt;#ccc;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;#radio_5:checked ~ input.other {&lt;/span&gt;
    display: block&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

input[type&lt;span class="o"&gt;=&lt;/span&gt;radio]:checked + label.radio:before &lt;span class="o"&gt;{&lt;/span&gt;
    border: 2px solid &lt;span class="c"&gt;#444;&lt;/span&gt;
    background: &lt;span class="c"&gt;#444;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

label.radio:after &lt;span class="o"&gt;{&lt;/span&gt;
    content: &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    position: absolute&lt;span class="p"&gt;;&lt;/span&gt;
    top: 7px&lt;span class="p"&gt;;&lt;/span&gt;
    left: 5px&lt;span class="p"&gt;;&lt;/span&gt;
    width: 7px&lt;span class="p"&gt;;&lt;/span&gt;
    height: 4px&lt;span class="p"&gt;;&lt;/span&gt;
    border: 3px solid &lt;span class="c"&gt;#fff;&lt;/span&gt;
    border-top: none&lt;span class="p"&gt;;&lt;/span&gt;
    border-right: none&lt;span class="p"&gt;;&lt;/span&gt;
    transform: rotate&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;-45deg&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    opacity: 0&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

input[type&lt;span class="o"&gt;=&lt;/span&gt;radio]:checked + label:after &lt;span class="o"&gt;{&lt;/span&gt;
    opacity: 1&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

.btn-block &lt;span class="o"&gt;{&lt;/span&gt;
    margin-top: 10px&lt;span class="p"&gt;;&lt;/span&gt;
    text-align: center&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

button &lt;span class="o"&gt;{&lt;/span&gt;
    width: 150px&lt;span class="p"&gt;;&lt;/span&gt;
    padding: 10px&lt;span class="p"&gt;;&lt;/span&gt;
    border: none&lt;span class="p"&gt;;&lt;/span&gt;
    border-radius: 5px&lt;span class="p"&gt;;&lt;/span&gt;
    background: &lt;span class="c"&gt;#444;&lt;/span&gt;
    font-size: 16px&lt;span class="p"&gt;;&lt;/span&gt;
    color: &lt;span class="c"&gt;#fff;&lt;/span&gt;
    cursor: pointer&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

button:hover &lt;span class="o"&gt;{&lt;/span&gt;
    background: &lt;span class="c"&gt;#666;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, We can check UI will be update in browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb3u6tu0d25rvy36fppb0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb3u6tu0d25rvy36fppb0.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Process Server Side With API Notion
&lt;/h2&gt;

&lt;p&gt;Because this is a small example. So I will write all code in "routes/index.js" for everyone easy follow&lt;/p&gt;

&lt;p&gt;We need to make a new router for handle when Form submit&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;router.post&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt;, async &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;req, res, next&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
//To be get parameter before Form submit and send data to server. We can use
const &lt;span class="o"&gt;{&lt;/span&gt;name, email, phone, address, sex, note&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; req.body&lt;span class="p"&gt;;&lt;/span&gt;
//Just &lt;span class="k"&gt;for &lt;/span&gt;debug
console.table&lt;span class="o"&gt;({&lt;/span&gt;name, email, phone, address, sex, note&lt;span class="o"&gt;})&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
//Redirect to form when before submit
res.redirect&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;})&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can check data before submit&lt;/p&gt;

&lt;p&gt;In web&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fws2jlv3pqdmzwbmma3a3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fws2jlv3pqdmzwbmma3a3.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In terminal be for click to "button Send"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcd0ezqrwrxfhihtraz4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcd0ezqrwrxfhihtraz4.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we have done for get data from Form submit to Server, The next step we will send this data to Notion&lt;/p&gt;

&lt;h2&gt;
  
  
  Send data to Notion by API
&lt;/h2&gt;

&lt;p&gt;First step we can install package "&lt;a href="https://www.npmjs.com/package/@notionhq/client" rel="noopener noreferrer"&gt;@notionhq/client&lt;/a&gt;"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i @notionhq/client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiz1qha49v8uxnal4ky3e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiz1qha49v8uxnal4ky3e.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Register to use the package&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;//Required package
const &lt;span class="o"&gt;{&lt;/span&gt;Client&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; require&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"@notionhq/client"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
//Setup config
const notion &lt;span class="o"&gt;=&lt;/span&gt; new Client&lt;span class="o"&gt;({&lt;/span&gt;
    auth: process.env.NOTION_TOKEN,
&lt;span class="o"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Send data to Notion by API&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;await notion.pages.create&lt;span class="o"&gt;({&lt;/span&gt;
        parent: &lt;span class="o"&gt;{&lt;/span&gt;
            database_id: process.env.NOTION_DATABASE_ID,
        &lt;span class="o"&gt;}&lt;/span&gt;,
        properties: &lt;span class="o"&gt;{&lt;/span&gt;
            Name: &lt;span class="o"&gt;{&lt;/span&gt;
                title: &lt;span class="o"&gt;[&lt;/span&gt;
                    &lt;span class="o"&gt;{&lt;/span&gt;
                        text: &lt;span class="o"&gt;{&lt;/span&gt;
                            content: name,
                        &lt;span class="o"&gt;}&lt;/span&gt;,
                    &lt;span class="o"&gt;}&lt;/span&gt;,
                &lt;span class="o"&gt;]&lt;/span&gt;,
            &lt;span class="o"&gt;}&lt;/span&gt;,
            Email: &lt;span class="o"&gt;{&lt;/span&gt;
                email: email,
            &lt;span class="o"&gt;}&lt;/span&gt;,
            PhoneNumber: &lt;span class="o"&gt;{&lt;/span&gt;
                rich_text: &lt;span class="o"&gt;[&lt;/span&gt;
                    &lt;span class="o"&gt;{&lt;/span&gt;
                        text: &lt;span class="o"&gt;{&lt;/span&gt;
                            content: phone,
                        &lt;span class="o"&gt;}&lt;/span&gt;,
                    &lt;span class="o"&gt;}&lt;/span&gt;,
                &lt;span class="o"&gt;]&lt;/span&gt;,
            &lt;span class="o"&gt;}&lt;/span&gt;,
            Address: &lt;span class="o"&gt;{&lt;/span&gt;
                rich_text: &lt;span class="o"&gt;[&lt;/span&gt;
                    &lt;span class="o"&gt;{&lt;/span&gt;
                        text: &lt;span class="o"&gt;{&lt;/span&gt;
                            content: address,
                        &lt;span class="o"&gt;}&lt;/span&gt;,
                    &lt;span class="o"&gt;}&lt;/span&gt;,
                &lt;span class="o"&gt;]&lt;/span&gt;,
            &lt;span class="o"&gt;}&lt;/span&gt;,
            Gender: &lt;span class="o"&gt;{&lt;/span&gt;
                &lt;span class="k"&gt;select&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
                    name: gender
                &lt;span class="o"&gt;}&lt;/span&gt;,
            &lt;span class="o"&gt;}&lt;/span&gt;,
            Note: &lt;span class="o"&gt;{&lt;/span&gt;
                rich_text: &lt;span class="o"&gt;[&lt;/span&gt;
                    &lt;span class="o"&gt;{&lt;/span&gt;
                        text: &lt;span class="o"&gt;{&lt;/span&gt;
                            content: note,
                        &lt;span class="o"&gt;}&lt;/span&gt;,
                    &lt;span class="o"&gt;}&lt;/span&gt;,
                &lt;span class="o"&gt;]&lt;/span&gt;,
            &lt;span class="o"&gt;}&lt;/span&gt;,
        &lt;span class="o"&gt;}&lt;/span&gt;,
    &lt;span class="o"&gt;})&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Setup file .env&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;NOTION_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;secret_heBrP3242423424322iHM8UzmjnALYvJ4WoeLA
&lt;span class="nv"&gt;NOTION_DATABASE_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ccfe5824942343224aa20ec85e1c2f7e
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We wrote the code&lt;/p&gt;

&lt;p&gt;Access to link &lt;a href="http://localhost:3000/" rel="noopener noreferrer"&gt;http://localhost:3000/&lt;/a&gt; and fill data click button "Send"&lt;/p&gt;

&lt;p&gt;Result &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9dfuy5llo6tnddo9x86x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9dfuy5llo6tnddo9x86x.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Git repository
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/qt91/InjectionRegistrationNotion" rel="noopener noreferrer"&gt;https://github.com/qt91/InjectionRegistrationNotion&lt;/a&gt;&lt;/p&gt;

</description>
      <category>notion</category>
      <category>node</category>
      <category>express</category>
      <category>api</category>
    </item>
    <item>
      <title>Demo</title>
      <dc:creator>Thinh Nguyen</dc:creator>
      <pubDate>Sat, 20 Jul 2019 06:42:49 +0000</pubDate>
      <link>https://dev.to/qt91/demo-2nei</link>
      <guid>https://dev.to/qt91/demo-2nei</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Vãi chuyện
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>qt</category>
    </item>
  </channel>
</rss>
