├── .gitignore
├── LICENSE
├── README.md
├── m3-Learning-the-Fundamentals
├── 02-Using-Dom-Methods-to-Write-To-Browser
│ ├── index.html
│ └── index.js
├── 03-Replacing-DOM-Methods-With-React
│ ├── index.html
│ └── index.js
├── 04-Creating-a-React-Functional-Component
│ ├── index.html
│ └── index.js
├── 05-Passing-Props-to-a-Component
│ ├── index.html
│ └── index.js
├── 06-Converting-a-Functional-Component-to-Class-Component
│ ├── index.html
│ └── index.js
├── 08-Building-an-App-with-Nextjs-and-JSX
│ ├── MyApp
│ │ ├── package-lock.json
│ │ ├── package.json
│ │ └── pages
│ │ │ └── index.js
│ ├── index.html
│ └── index.js
├── 09-Integrating-a-CSS-File-into-the-Nextjs-Project
│ ├── MyApp
│ │ ├── next.config.js
│ │ ├── package-lock.json
│ │ ├── package.json
│ │ ├── pages
│ │ │ └── index.js
│ │ └── src
│ │ │ ├── DigitalClock.css
│ │ │ └── DigitalClock.js
│ ├── index.html
│ └── index.js
└── Notes.md
├── m4-Using-REST-Data-in-Server-side
├── 03-Coding-a-Server-and-Client-side-Rendering-Solution
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ └── index.js
│ └── src
│ │ ├── DigitalClock.css
│ │ └── DigitalClock.js
├── 04-Taking-Nextjs-GetInitialProps-to-Async-by-promise
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ └── index.js
│ └── src
│ │ ├── DigitalClock.css
│ │ └── DigitalClock.js
├── 05-Rendering-Async-REST-Data-Server-and-Client-side
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ └── index.js
│ └── src
│ │ ├── DigitalClock.css
│ │ └── DigitalClock.js
├── 06-Learn-Client-side-Page-Routing-with-NextJS-Link-Element
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── index.js
│ │ └── sessions.js
│ └── src
│ │ ├── DigitalClock.css
│ │ └── DigitalClock.js
└── Notes.md
├── m5-Extending-Your-Server-side-Rendered-App-to-Real-World
├── 02-Integrate-Bootstrap-4
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ └── sessions.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ └── DigitalClock.js
│ └── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ ├── Speaker-10803.jpg
│ │ ├── Speaker-10808.jpg
│ │ ├── Speaker-1124.jpg
│ │ ├── Speaker-1269.jpg
│ │ ├── Speaker-1530.jpg
│ │ ├── Speaker-1725.jpg
│ │ ├── Speaker-187.jpg
│ │ ├── Speaker-18805.jpg
│ │ ├── Speaker-2920.jpg
│ │ ├── Speaker-39062.jpg
│ │ ├── Speaker-41808.jpg
│ │ ├── Speaker-5996.jpg
│ │ ├── Speaker-6548.jpg
│ │ ├── Speaker-823.jpg
│ │ ├── Speaker-8367.jpg
│ │ └── Speaker-8590.jpg
├── 03-Refactoring-Static-Bootstrap-to-React-Components
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ └── speakers.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ └── DigitalClock.js
│ └── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ ├── Speaker-10803.jpg
│ │ ├── Speaker-10808.jpg
│ │ ├── Speaker-1124.jpg
│ │ ├── Speaker-1269.jpg
│ │ ├── Speaker-1530.jpg
│ │ ├── Speaker-1725.jpg
│ │ ├── Speaker-187.jpg
│ │ ├── Speaker-18805.jpg
│ │ ├── Speaker-2920.jpg
│ │ ├── Speaker-39062.jpg
│ │ ├── Speaker-41808.jpg
│ │ ├── Speaker-5996.jpg
│ │ ├── Speaker-6548.jpg
│ │ ├── Speaker-823.jpg
│ │ ├── Speaker-8367.jpg
│ │ └── Speaker-8590.jpg
├── 04-Add-a-Layout-Page-with-the-Nextjs-app-file
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _app.js
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ └── speakers.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ ├── DigitalClock.js
│ │ └── Layout.js
│ ├── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ │ ├── Speaker-10803.jpg
│ │ │ ├── Speaker-10808.jpg
│ │ │ ├── Speaker-1124.jpg
│ │ │ ├── Speaker-1269.jpg
│ │ │ ├── Speaker-1530.jpg
│ │ │ ├── Speaker-1725.jpg
│ │ │ ├── Speaker-187.jpg
│ │ │ ├── Speaker-18805.jpg
│ │ │ ├── Speaker-2920.jpg
│ │ │ ├── Speaker-39062.jpg
│ │ │ ├── Speaker-41808.jpg
│ │ │ ├── Speaker-5996.jpg
│ │ │ ├── Speaker-6548.jpg
│ │ │ ├── Speaker-823.jpg
│ │ │ ├── Speaker-8367.jpg
│ │ │ └── Speaker-8590.jpg
│ └── yarn.lock
├── 05-More-Detailed-Refactoring-Bootstrap-Cards
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _app.js
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ └── speakers.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ ├── DigitalClock.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Layout.js
│ │ ├── Menu.js
│ │ ├── SessionCard.js
│ │ └── SpeakerCard.js
│ ├── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ │ ├── Speaker-10803.jpg
│ │ │ ├── Speaker-10808.jpg
│ │ │ ├── Speaker-1124.jpg
│ │ │ ├── Speaker-1269.jpg
│ │ │ ├── Speaker-1530.jpg
│ │ │ ├── Speaker-1725.jpg
│ │ │ ├── Speaker-187.jpg
│ │ │ ├── Speaker-18805.jpg
│ │ │ ├── Speaker-2920.jpg
│ │ │ ├── Speaker-39062.jpg
│ │ │ ├── Speaker-41808.jpg
│ │ │ ├── Speaker-5996.jpg
│ │ │ ├── Speaker-6548.jpg
│ │ │ ├── Speaker-823.jpg
│ │ │ ├── Speaker-8367.jpg
│ │ │ └── Speaker-8590.jpg
│ └── yarn.lock
├── 06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _app.js
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ ├── speaker.js
│ │ └── speakers.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ ├── DigitalClock.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Layout.js
│ │ ├── Menu.js
│ │ ├── SessionCard.js
│ │ └── SpeakerCard.js
│ ├── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ │ ├── Speaker-10803.jpg
│ │ │ ├── Speaker-10808.jpg
│ │ │ ├── Speaker-1124.jpg
│ │ │ ├── Speaker-1269.jpg
│ │ │ ├── Speaker-1530.jpg
│ │ │ ├── Speaker-1725.jpg
│ │ │ ├── Speaker-187.jpg
│ │ │ ├── Speaker-18805.jpg
│ │ │ ├── Speaker-2920.jpg
│ │ │ ├── Speaker-39062.jpg
│ │ │ ├── Speaker-41808.jpg
│ │ │ ├── Speaker-5996.jpg
│ │ │ ├── Speaker-6548.jpg
│ │ │ ├── Speaker-823.jpg
│ │ │ ├── Speaker-8367.jpg
│ │ │ └── Speaker-8590.jpg
│ └── yarn.lock
├── 07-Server-side-Rendering-Landing-Page-with-Query-Params
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _app.js
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ ├── speaker.js
│ │ └── speakers.js
│ ├── server.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ ├── DigitalClock.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Layout.js
│ │ ├── Menu.js
│ │ ├── SessionCard.js
│ │ └── SpeakerCard.js
│ ├── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ │ ├── Speaker-10803.jpg
│ │ │ ├── Speaker-10808.jpg
│ │ │ ├── Speaker-1124.jpg
│ │ │ ├── Speaker-1269.jpg
│ │ │ ├── Speaker-1530.jpg
│ │ │ ├── Speaker-1725.jpg
│ │ │ ├── Speaker-187.jpg
│ │ │ ├── Speaker-18805.jpg
│ │ │ ├── Speaker-2920.jpg
│ │ │ ├── Speaker-39062.jpg
│ │ │ ├── Speaker-41808.jpg
│ │ │ ├── Speaker-5996.jpg
│ │ │ ├── Speaker-6548.jpg
│ │ │ ├── Speaker-823.jpg
│ │ │ ├── Speaker-8367.jpg
│ │ │ └── Speaker-8590.jpg
│ └── yarn.lock
└── Notes.md
├── m6-Deploying-to-Node-Server
├── 02-Setting-up-and-Using-Environmental-Variables
│ ├── .env
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _app.js
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ ├── speaker.js
│ │ └── speakers.js
│ ├── server.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ ├── DigitalClock.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Layout.js
│ │ ├── Menu.js
│ │ ├── SessionCard.js
│ │ └── SpeakerCard.js
│ ├── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ │ ├── Speaker-10803.jpg
│ │ │ ├── Speaker-10808.jpg
│ │ │ ├── Speaker-1124.jpg
│ │ │ ├── Speaker-1269.jpg
│ │ │ ├── Speaker-1530.jpg
│ │ │ ├── Speaker-1725.jpg
│ │ │ ├── Speaker-187.jpg
│ │ │ ├── Speaker-18805.jpg
│ │ │ ├── Speaker-2920.jpg
│ │ │ ├── Speaker-39062.jpg
│ │ │ ├── Speaker-41808.jpg
│ │ │ ├── Speaker-5996.jpg
│ │ │ ├── Speaker-6548.jpg
│ │ │ ├── Speaker-823.jpg
│ │ │ ├── Speaker-8367.jpg
│ │ │ └── Speaker-8590.jpg
│ └── yarn.lock
├── 03-Configuring-Default-Environmental-Variables
│ ├── .env
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _app.js
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ ├── speaker.js
│ │ └── speakers.js
│ ├── server.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ ├── DigitalClock.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Layout.js
│ │ ├── Menu.js
│ │ ├── SessionCard.js
│ │ └── SpeakerCard.js
│ ├── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ │ ├── Speaker-10803.jpg
│ │ │ ├── Speaker-10808.jpg
│ │ │ ├── Speaker-1124.jpg
│ │ │ ├── Speaker-1269.jpg
│ │ │ ├── Speaker-1530.jpg
│ │ │ ├── Speaker-1725.jpg
│ │ │ ├── Speaker-187.jpg
│ │ │ ├── Speaker-18805.jpg
│ │ │ ├── Speaker-2920.jpg
│ │ │ ├── Speaker-39062.jpg
│ │ │ ├── Speaker-41808.jpg
│ │ │ ├── Speaker-5996.jpg
│ │ │ ├── Speaker-6548.jpg
│ │ │ ├── Speaker-823.jpg
│ │ │ ├── Speaker-8367.jpg
│ │ │ └── Speaker-8590.jpg
│ └── yarn.lock
├── 05-Create-a-Docker-Image-and-Container
│ ├── .env
│ ├── Dockerfile
│ ├── css
│ │ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── _app.js
│ │ ├── _documents.js
│ │ ├── bootstrap.js
│ │ ├── index.js
│ │ ├── sessions.js
│ │ ├── speaker.js
│ │ └── speakers.js
│ ├── server.js
│ ├── src
│ │ ├── DigitalClock.css
│ │ ├── DigitalClock.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Layout.js
│ │ ├── Menu.js
│ │ ├── SessionCard.js
│ │ └── SpeakerCard.js
│ └── static
│ │ ├── SVCClogo.png
│ │ └── speakers
│ │ ├── Speaker-10803.jpg
│ │ ├── Speaker-10808.jpg
│ │ ├── Speaker-1124.jpg
│ │ ├── Speaker-1269.jpg
│ │ ├── Speaker-1530.jpg
│ │ ├── Speaker-1725.jpg
│ │ ├── Speaker-187.jpg
│ │ ├── Speaker-18805.jpg
│ │ ├── Speaker-2920.jpg
│ │ ├── Speaker-39062.jpg
│ │ ├── Speaker-41808.jpg
│ │ ├── Speaker-5996.jpg
│ │ ├── Speaker-6548.jpg
│ │ ├── Speaker-823.jpg
│ │ ├── Speaker-8367.jpg
│ │ └── Speaker-8590.jpg
├── Notes.md
└── _experimental
│ ├── .dockerignore
│ ├── .env
│ ├── .env.txt
│ ├── Dockerfile
│ ├── aws.txt
│ ├── css
│ ├── bootstrap.min.css
│ └── site.css
│ ├── db.json
│ ├── next.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ ├── _app.js
│ ├── _document.js
│ ├── bootstrap.js
│ ├── index.js
│ ├── sessions.js
│ ├── speaker.js
│ └── speakers.js
│ ├── server.js
│ ├── src
│ ├── Footer.js
│ ├── Header.js
│ ├── Layout.js
│ ├── Menu.js
│ ├── sessionCard.js
│ ├── sessiondata.js
│ └── speakerCard.js
│ ├── static-site.html
│ └── static
│ ├── SVCClogo.png
│ ├── site.css
│ └── speakers
│ ├── Speaker-10803.jpg
│ ├── Speaker-10808.jpg
│ ├── Speaker-1124.jpg
│ ├── Speaker-1269.jpg
│ ├── Speaker-1530.jpg
│ ├── Speaker-1725.jpg
│ ├── Speaker-187.jpg
│ ├── Speaker-18805.jpg
│ ├── Speaker-2920.jpg
│ ├── Speaker-39062.jpg
│ ├── Speaker-41808.jpg
│ ├── Speaker-5996.jpg
│ ├── Speaker-6548.jpg
│ ├── Speaker-823.jpg
│ ├── Speaker-8367.jpg
│ └── Speaker-8590.jpg
└── m7-Ensuring-Your-App-Performs
├── 02-Better-Image-Handling-with-next-images
├── .dockerignore
├── .env
├── Dockerfile
├── css
│ ├── bootstrap.min.css
│ └── site.css
├── db.json
├── next.config.js
├── package-lock.json
├── package.json
├── pages
│ ├── _app.js
│ ├── _document.js
│ ├── bootstrap.js
│ ├── index.js
│ ├── sessions.js
│ ├── speaker.js
│ └── speakers.js
├── server.js
├── src
│ ├── Footer.js
│ ├── Header.js
│ ├── Layout.js
│ ├── Menu.js
│ ├── sessionCard.js
│ └── speakerCard.js
├── static-site.html
└── static
│ ├── SVCClogo.png
│ ├── site.css
│ └── speakers
│ ├── Speaker-10803.jpg
│ ├── Speaker-10808.jpg
│ ├── Speaker-1124.jpg
│ ├── Speaker-1269.jpg
│ ├── Speaker-1530.jpg
│ ├── Speaker-1725.jpg
│ ├── Speaker-187.jpg
│ ├── Speaker-18805.jpg
│ ├── Speaker-2920.jpg
│ ├── Speaker-39062.jpg
│ ├── Speaker-41808.jpg
│ ├── Speaker-5996.jpg
│ ├── Speaker-6548.jpg
│ ├── Speaker-823.jpg
│ ├── Speaker-8367.jpg
│ └── Speaker-8590.jpg
├── 03-Adding-Page-Caching-to-the-Node-Express-Server
├── .dockerignore
├── .env
├── Dockerfile
├── css
│ ├── bootstrap.min.css
│ └── site.css
├── db.json
├── next.config.js
├── package-lock.json
├── package.json
├── pages
│ ├── _app.js
│ ├── _document.js
│ ├── bootstrap.js
│ ├── index.js
│ ├── sessions.js
│ ├── speaker.js
│ └── speakers.js
├── server.js
├── src
│ ├── Footer.js
│ ├── Header.js
│ ├── Layout.js
│ ├── Menu.js
│ ├── sessionCard.js
│ └── speakerCard.js
├── static-site.html
└── static
│ ├── SVCClogo.png
│ ├── site.css
│ └── speakers
│ ├── Speaker-10803.jpg
│ ├── Speaker-10808.jpg
│ ├── Speaker-1124.jpg
│ ├── Speaker-1269.jpg
│ ├── Speaker-1530.jpg
│ ├── Speaker-1725.jpg
│ ├── Speaker-187.jpg
│ ├── Speaker-18805.jpg
│ ├── Speaker-2920.jpg
│ ├── Speaker-39062.jpg
│ ├── Speaker-41808.jpg
│ ├── Speaker-5996.jpg
│ ├── Speaker-6548.jpg
│ ├── Speaker-823.jpg
│ ├── Speaker-8367.jpg
│ └── Speaker-8590.jpg
├── 04-Using-a-CDN-for-JavaScript-CSS-Images
├── .dockerignore
├── .env
├── Dockerfile
├── css
│ ├── bootstrap.min.css
│ └── site.css
├── db.json
├── next.config.js
├── package-lock.json
├── package.json
├── pages
│ ├── _app.js
│ ├── _document.js
│ ├── bootstrap.js
│ ├── index.js
│ ├── sessions.js
│ ├── speaker.js
│ └── speakers.js
├── server.js
├── src
│ ├── Footer.js
│ ├── Header.js
│ ├── Layout.js
│ ├── Menu.js
│ ├── sessionCard.js
│ └── speakerCard.js
├── static-site.html
└── static
│ ├── SVCClogo.png
│ ├── site.css
│ └── speakers
│ ├── Speaker-10803.jpg
│ ├── Speaker-10808.jpg
│ ├── Speaker-1124.jpg
│ ├── Speaker-1269.jpg
│ ├── Speaker-1530.jpg
│ ├── Speaker-1725.jpg
│ ├── Speaker-187.jpg
│ ├── Speaker-18805.jpg
│ ├── Speaker-2920.jpg
│ ├── Speaker-39062.jpg
│ ├── Speaker-41808.jpg
│ ├── Speaker-5996.jpg
│ ├── Speaker-6548.jpg
│ ├── Speaker-823.jpg
│ ├── Speaker-8367.jpg
│ └── Speaker-8590.jpg
├── 05-Using-Placeholder-images-While-Waiting-for-Data
├── .dockerignore
├── .env
├── Dockerfile
├── css
│ ├── bootstrap.min.css
│ └── site.css
├── db.json
├── next.config.js
├── package-lock.json
├── package.json
├── pages
│ ├── _app.js
│ ├── _document.js
│ ├── bootstrap.js
│ ├── index.js
│ ├── sessions.js
│ ├── speaker.js
│ └── speakers.js
├── server.js
├── src
│ ├── Footer.js
│ ├── Header.js
│ ├── Layout.js
│ ├── Menu.js
│ ├── sessionCard.js
│ └── speakerCard.js
├── static-site.html
└── static
│ ├── SVCClogo.png
│ ├── site.css
│ └── speakers
│ ├── Speaker-10803.jpg
│ ├── Speaker-10808.jpg
│ ├── Speaker-1124.jpg
│ ├── Speaker-1269.jpg
│ ├── Speaker-1530.jpg
│ ├── Speaker-1725.jpg
│ ├── Speaker-187.jpg
│ ├── Speaker-18805.jpg
│ ├── Speaker-2920.jpg
│ ├── Speaker-39062.jpg
│ ├── Speaker-41808.jpg
│ ├── Speaker-5996.jpg
│ ├── Speaker-6548.jpg
│ ├── Speaker-823.jpg
│ ├── Speaker-8367.jpg
│ └── Speaker-8590.jpg
├── Notes.md
└── _experimental
├── .dockerignore
├── .env
├── .env.txt
├── Dockerfile
├── aws.txt
├── css
├── bootstrap.min.css
└── site.css
├── db.json
├── favicon.ico
├── next.config.js
├── now.json.XXX
├── package-lock.json
├── package.json
├── pages
├── _app.js
├── _document.js
├── bootstrap.js
├── index.js
├── sessions.js
├── speaker.js
└── speakers.js
├── server.js
├── src
├── Footer.js
├── Header.js
├── Layout.js
├── Menu.js
├── sessionCard.js
├── sessiondata.js
└── speakerCard.js
├── static-site.html
└── static
├── SVCClogo.png
├── site.css
└── speakers
├── Speaker-10803.jpg
├── Speaker-10808.jpg
├── Speaker-1124.jpg
├── Speaker-1269.jpg
├── Speaker-1530.jpg
├── Speaker-1725.jpg
├── Speaker-187.jpg
├── Speaker-18805.jpg
├── Speaker-2920.jpg
├── Speaker-39062.jpg
├── Speaker-41808.jpg
├── Speaker-5996.jpg
├── Speaker-6548.jpg
├── Speaker-823.jpg
├── Speaker-8367.jpg
└── Speaker-8590.jpg
/m3-Learning-the-Fundamentals/02-Using-Dom-Methods-to-Write-To-Browser/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/02-Using-Dom-Methods-to-Write-To-Browser/index.js:
--------------------------------------------------------------------------------
1 | const rootElement = document.getElementById('app');
2 |
3 | const myElement = document.createElement('h1');
4 | myElement.className = "orange";
5 | myElement.innerText = 'Hello From Pluralsight';
6 |
7 | rootElement.appendChild(myElement);
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/03-Replacing-DOM-Methods-With-React/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/03-Replacing-DOM-Methods-With-React/index.js:
--------------------------------------------------------------------------------
1 | //const rootElement = document.getElementById('app');
2 |
3 | // const myElement = document.createElement('h1');
4 | // myElement.className = "orange";
5 | // myElement.innerText = 'Hello From Pluralsight';
6 |
7 |
8 | const myReactElement = React.createElement('h1',
9 | {className: 'orange'},
10 | 'Hello From Pluralsight and React');
11 |
12 | ReactDOM.render(
13 | myReactElement,
14 | document.getElementById('app')
15 | );
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/04-Creating-a-React-Functional-Component/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/04-Creating-a-React-Functional-Component/index.js:
--------------------------------------------------------------------------------
1 | // const myReactElement = React.createElement('h1',
2 | // {className: 'orange'},
3 | // 'Hello From Pluralsight and React');
4 |
5 | const myReactElement = React.createElement('h1',
6 | {className: 'orange'},
7 | 'Hello From Pluralsight and React');
8 |
9 | ReactDOM.render(
10 | myReactElement,
11 | document.getElementById('app')
12 | );
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/05-Passing-Props-to-a-Component/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/05-Passing-Props-to-a-Component/index.js:
--------------------------------------------------------------------------------
1 | // const myReactElement = React.createElement('h1',
2 | // {className: 'orange'},
3 | // 'Hello From Pluralsight and React');
4 |
5 | const Hello = (props) => {
6 | return React.createElement('h1',
7 | {className: 'orange'},
8 | 'Hello From Pluralsight and React ' + props.time);
9 | };
10 |
11 | ReactDOM.render(
12 | React.createElement(Hello, {time: new Date().toLocaleTimeString()}, null),
13 | document.getElementById('app')
14 | );
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/06-Converting-a-Functional-Component-to-Class-Component/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/08-Building-an-App-with-Nextjs-and-JSX/MyApp/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start"
11 | },
12 | "keywords": [],
13 | "author": "",
14 | "license": "ISC",
15 | "dependencies": {
16 | "next": "^7.0.2",
17 | "react": "^16.6.3",
18 | "react-dom": "^16.6.3"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/08-Building-an-App-with-Nextjs-and-JSX/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/09-Integrating-a-CSS-File-into-the-Nextjs-Project/MyApp/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/09-Integrating-a-CSS-File-into-the-Nextjs-Project/MyApp/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start"
11 | },
12 | "keywords": [],
13 | "author": "",
14 | "license": "ISC",
15 | "dependencies": {
16 | "@zeit/next-css": "^1.0.1",
17 | "next": "^7.0.2",
18 | "react": "^16.6.3",
19 | "react-dom": "^16.6.3"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/09-Integrating-a-CSS-File-into-the-Nextjs-Project/MyApp/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/09-Integrating-a-CSS-File-into-the-Nextjs-Project/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/m3-Learning-the-Fundamentals/Notes.md:
--------------------------------------------------------------------------------
1 | # Course: Building Server-side Rendered React Apps for Beginners
2 | ## Module 3: Learning the Fundamentals of Building Server-side Rendered Apps
3 | ### Author: Peter Kellner
4 |
5 | https://app.pluralsight.com/profile/author/peter-kellner
6 |
7 | [](https://www.youtube.com/watch?v=rJSXRGegxFw)
8 |
9 | *Note: If a clip is missing it means that there was no source presented in that clip*
10 |
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/03-Coding-a-Server-and-Client-side-Rendering-Solution/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/03-Coding-a-Server-and-Client-side-Rendering-Solution/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start"
11 | },
12 | "keywords": [],
13 | "author": "",
14 | "license": "ISC",
15 | "dependencies": {
16 | "@zeit/next-css": "^1.0.1",
17 | "next": "^7.0.2",
18 | "react": "^16.6.3",
19 | "react-dom": "^16.6.3"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/03-Coding-a-Server-and-Client-side-Rendering-Solution/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/04-Taking-Nextjs-GetInitialProps-to-Async-by-promise/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/04-Taking-Nextjs-GetInitialProps-to-Async-by-promise/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start"
11 | },
12 | "keywords": [],
13 | "author": "",
14 | "license": "ISC",
15 | "dependencies": {
16 | "@zeit/next-css": "^1.0.1",
17 | "next": "^7.0.2",
18 | "react": "^16.6.3",
19 | "react-dom": "^16.6.3"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/04-Taking-Nextjs-GetInitialProps-to-Async-by-promise/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/05-Rendering-Async-REST-Data-Server-and-Client-side/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/05-Rendering-Async-REST-Data-Server-and-Client-side/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start",
11 | "json-server": "json-server --watch db.json --port 4000 --delay 200"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "ISC",
16 | "dependencies": {
17 | "@zeit/next-css": "^1.0.1",
18 | "axios": "^0.18.0",
19 | "next": "^7.0.2",
20 | "react": "^16.6.3",
21 | "react-dom": "^16.6.3"
22 | },
23 | "devDependencies": {
24 | "json-server": "^0.14.0"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/05-Rendering-Async-REST-Data-Server-and-Client-side/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/06-Learn-Client-side-Page-Routing-with-NextJS-Link-Element/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/06-Learn-Client-side-Page-Routing-with-NextJS-Link-Element/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start",
11 | "json-server": "json-server --watch db.json --port 4000 --delay 200"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "ISC",
16 | "dependencies": {
17 | "@zeit/next-css": "^1.0.1",
18 | "axios": "^0.18.0",
19 | "next": "^7.0.2",
20 | "react": "^16.6.3",
21 | "react-dom": "^16.6.3"
22 | },
23 | "devDependencies": {
24 | "json-server": "^0.14.0"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/06-Learn-Client-side-Page-Routing-with-NextJS-Link-Element/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m4-Using-REST-Data-in-Server-side/Notes.md:
--------------------------------------------------------------------------------
1 | # Course: Building Server-side Rendered React Apps for Beginners
2 | ## Module 4: Using REST Data in Server-side Rendering and getInitialProps
3 | ### Author: Peter Kellner
4 |
5 | https://app.pluralsight.com/profile/author/peter-kellner
6 |
7 | [](https://www.youtube.com/watch?v=rJSXRGegxFw)
8 |
9 | *Note: If a clip is missing it means that there was no source presented in that clip*
10 |
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start",
11 | "json-server": "json-server --watch db.json --port 4000 --delay 200"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "ISC",
16 | "dependencies": {
17 | "@zeit/next-css": "^1.0.1",
18 | "axios": "^0.18.0",
19 | "bootstrap": "^4.1.3",
20 | "next": "^7.0.2",
21 | "react": "^16.6.3",
22 | "react-dom": "^16.6.3"
23 | },
24 | "devDependencies": {
25 | "json-server": "^0.14.0"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/pages/_documents.js:
--------------------------------------------------------------------------------
1 | /*
2 | In production the stylesheet is compiled to .next/static/style.css and served from /_next/static/style.css
3 |
4 | You have to include it into the page using either next/head or a custom _document.js, as is being done in this file.
5 | */
6 |
7 | import Document, {Head, Main, NextScript} from 'next/document'
8 |
9 | export default class MyDocument extends Document {
10 | render() {
11 | return (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | )
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/SVCClogo.png
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/02-Integrate-Bootstrap-4/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/SVCClogo.png
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/03-Refactoring-Static-Bootstrap-to-React-Components/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start",
11 | "json-server": "json-server --watch db.json --port 4000 --delay 200"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "ISC",
16 | "dependencies": {
17 | "@zeit/next-css": "^1.0.1",
18 | "axios": "^0.18.0",
19 | "bootstrap": "^4.1.3",
20 | "next": "^7.0.2",
21 | "react": "^16.6.3",
22 | "react-dom": "^16.6.3"
23 | },
24 | "devDependencies": {
25 | "json-server": "^0.14.0"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 |
6 | export class Layout extends React.Component {
7 | render() {
8 | const {children} = this.props
9 |
10 | return (
11 |
12 | {children}
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/SVCClogo.png
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/04-Add-a-Layout-Page-with-the-Nextjs-app-file/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MyApp",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "next",
9 | "build": "next build",
10 | "start": "next start",
11 | "json-server": "json-server --watch db.json --port 4000 --delay 200"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "ISC",
16 | "dependencies": {
17 | "@zeit/next-css": "^1.0.1",
18 | "axios": "^0.18.0",
19 | "bootstrap": "^4.1.3",
20 | "next": "^7.0.2",
21 | "react": "^16.6.3",
22 | "react-dom": "^16.6.3"
23 | },
24 | "devDependencies": {
25 | "json-server": "^0.14.0"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 | import {Menu} from "./Menu";
6 | import {Footer} from "./Footer";
7 | import {Header} from "./Header";
8 |
9 | export class Layout extends React.Component {
10 | render() {
11 | const {children} = this.props
12 |
13 | return (
14 |
15 |
16 |
17 | {children}
18 |
19 |
20 | );
21 | }
22 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/src/SessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/src/SpeakerCard.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | class SpeakerCard extends Component {
4 |
5 | render() {
6 | return (
7 |
8 |

9 |
10 |
{this.props.speaker.userFirstName} {this.props.speaker.userLastName}
11 |
{this.props.speaker.bioShort}
12 |
13 |
14 | );
15 | }
16 | }
17 |
18 | export default SpeakerCard;
19 |
20 |
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/SVCClogo.png
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/05-More-Detailed-Refactoring-Bootstrap-Cards/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 | import {Menu} from "./Menu";
6 | import {Footer} from "./Footer";
7 | import {Header} from "./Header";
8 |
9 | export class Layout extends React.Component {
10 | render() {
11 | const {children} = this.props
12 |
13 | return (
14 |
15 |
16 |
17 | {children}
18 |
19 |
20 | );
21 | }
22 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/src/SessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/SVCClogo.png
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/06-Adding-a-Speaker-Detail-Page-That-Works-Client-side-Only/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 | module.exports = withCSS();
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 | import {Menu} from "./Menu";
6 | import {Footer} from "./Footer";
7 | import {Header} from "./Header";
8 |
9 | export class Layout extends React.Component {
10 | render() {
11 | const {children} = this.props
12 |
13 | return (
14 |
15 |
16 |
17 | {children}
18 |
19 |
20 | );
21 | }
22 | }
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/src/SessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/SVCClogo.png
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/07-Server-side-Rendering-Landing-Page-with-Query-Params/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m5-Extending-Your-Server-side-Rendered-App-to-Real-World/Notes.md:
--------------------------------------------------------------------------------
1 | # Course: Building Server-side Rendered React Apps for Beginners
2 | ## Module 5: Extending Your Server-side Rendered App to the Real World
3 | ### Author: Peter Kellner
4 |
5 | https://app.pluralsight.com/profile/author/peter-kellner
6 |
7 | [](https://www.youtube.com/watch?v=rJSXRGegxFw)
8 |
9 | *Note: If a clip is missing it means that there was no source presented in that clip*
10 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
11 |
12 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/next.config.js:
--------------------------------------------------------------------------------
1 | const withCSS = require("@zeit/next-css");
2 |
3 | require("dotenv").config();
4 | const path = require("path");
5 | const Dotenv = require("dotenv-webpack");
6 |
7 | /* Without CSS Modules, with PostCSS */
8 | module.exports = withCSS(
9 | {
10 | webpack(config, options) {
11 | config.plugins = config.plugins || [];
12 | config.plugins = [
13 | ...config.plugins,
14 | // Read the .env file
15 | new Dotenv({
16 | path: path.join(__dirname, ".env"),
17 | systemvars: true
18 | })
19 | ];
20 | return config;
21 | }
22 | }
23 | );
24 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/pages/_documents.js:
--------------------------------------------------------------------------------
1 | /*
2 | In production the stylesheet is compiled to .next/static/style.css and served from /_next/static/style.css
3 |
4 | You have to include it into the page using either next/head or a custom _document.js, as is being done in this file.
5 | */
6 |
7 | import Document, {Head, Main, NextScript} from 'next/document'
8 |
9 | export default class MyDocument extends Document {
10 | render() {
11 | return (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | )
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/src/Header.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Header extends Component {
4 | render() {
5 | return
6 |
7 |
8 |
October 13-14 2018
9 | San Jose, California
10 |
11 |
12 |
13 |
Silicon Valley Code Camp 2018
14 |
15 |
16 |
;
17 | }
18 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 | import {Menu} from "./Menu";
6 | import {Footer} from "./Footer";
7 | import {Header} from "./Header";
8 |
9 | export class Layout extends React.Component {
10 | render() {
11 | const {children} = this.props
12 |
13 | return (
14 |
15 |
16 |
17 | {children}
18 |
19 |
20 | );
21 | }
22 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/src/SessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/SVCClogo.png
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/02-Setting-up-and-Using-Environmental-Variables/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
11 |
12 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/pages/_documents.js:
--------------------------------------------------------------------------------
1 | /*
2 | In production the stylesheet is compiled to .next/static/style.css and served from /_next/static/style.css
3 |
4 | You have to include it into the page using either next/head or a custom _document.js, as is being done in this file.
5 | */
6 |
7 | import Document, {Head, Main, NextScript} from 'next/document'
8 |
9 | export default class MyDocument extends Document {
10 | render() {
11 | return (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | )
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/src/Header.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Header extends Component {
4 | render() {
5 | return
6 |
7 |
8 |
October 13-14 2018
9 | San Jose, California
10 |
11 |
12 |
13 |
Silicon Valley Code Camp 2018
14 |
15 |
16 |
;
17 | }
18 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 | import {Menu} from "./Menu";
6 | import {Footer} from "./Footer";
7 | import {Header} from "./Header";
8 |
9 | export class Layout extends React.Component {
10 | render() {
11 | const {children} = this.props
12 |
13 | return (
14 |
15 |
16 |
17 | {children}
18 |
19 |
20 | );
21 | }
22 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/src/SessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/SVCClogo.png
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/03-Configuring-Default-Environmental-Variables/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
11 |
12 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:alpine
2 |
3 | # Create app directory
4 | RUN mkdir -p /usr/src
5 | WORKDIR /usr/src
6 |
7 | # Install app dependencies
8 | COPY package.json /usr/src/
9 | COPY package-lock.json /usr/src/
10 | RUN npm install
11 |
12 | # Bundle app source
13 | COPY . /usr/src
14 |
15 | RUN npm run build
16 | EXPOSE 3000
17 |
18 | CMD ["npm", "start"]
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/pages/_documents.js:
--------------------------------------------------------------------------------
1 | /*
2 | In production the stylesheet is compiled to .next/static/style.css and served from /_next/static/style.css
3 |
4 | You have to include it into the page using either next/head or a custom _document.js, as is being done in this file.
5 | */
6 |
7 | import Document, {Head, Main, NextScript} from 'next/document'
8 |
9 | export default class MyDocument extends Document {
10 | render() {
11 | return (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | )
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/src/DigitalClock.css:
--------------------------------------------------------------------------------
1 | /*body {*/
2 | /*background: black;*/
3 | /*}*/
4 |
5 | body {
6 | background: linear-gradient(45deg, #1870ed 0, #f18f88 100%);
7 | font-family: 'Montserrat', 'sans-serif';
8 | min-height: 100vh;
9 | display: flex;
10 | align-items: center;
11 | justify-content: center;
12 | }
13 |
14 | .clock {
15 | position: absolute;
16 | top: 50%;
17 | left: 50%;
18 | transform: translateX(-50%) translateY(-50%);
19 | color: #17D4FE;
20 | font-size: 60px;
21 | font-family: Orbitron;
22 | letter-spacing: 7px;
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/src/Header.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Header extends Component {
4 | render() {
5 | return
6 |
7 |
8 |
October 13-14 2018
9 | San Jose, California
10 |
11 |
12 |
13 |
Silicon Valley Code Camp 2018
14 |
15 |
16 |
;
17 | }
18 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 | import {Menu} from "./Menu";
6 | import {Footer} from "./Footer";
7 | import {Header} from "./Header";
8 |
9 | export class Layout extends React.Component {
10 | render() {
11 | const {children} = this.props
12 |
13 | return (
14 |
15 |
16 |
17 | {children}
18 |
19 |
20 | );
21 | }
22 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/src/SessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/SVCClogo.png
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/05-Create-a-Docker-Image-and-Container/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/Notes.md:
--------------------------------------------------------------------------------
1 | # Course: Building Server-side Rendered React Apps for Beginners
2 | ## Module 6: Deploying Your App to a Node Server and Production
3 | ### Author: Peter Kellner
4 |
5 | https://app.pluralsight.com/profile/author/peter-kellner
6 |
7 | [](https://www.youtube.com/watch?v=rJSXRGegxFw)
8 |
9 | *Note: If a clip is missing it means that there was no source presented in that clip*
10 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | .idea
4 | db.json
5 | dbreal.json
6 | .env
7 |
8 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=xproduction
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
11 |
12 | BUGSNAG_SERVER_API_KEY=0031f052a40f457bb66b714c9ca36b16
13 | BUGSNAG_BROWSER_API_KEY=a463a057-294e-458d-843c-b42d9bbd91db
14 |
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/.env.txt:
--------------------------------------------------------------------------------
1 | DB_HOST=abcd1
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:alpine
2 |
3 | # Create app directory
4 | RUN mkdir -p /usr/src
5 | WORKDIR /usr/src
6 |
7 | # Install app dependencies
8 | COPY package.json /usr/src/
9 | COPY package-lock.json /usr/src/
10 | RUN npm install
11 |
12 | # Bundle app source
13 | COPY . /usr/src
14 |
15 | RUN npm run build
16 | EXPOSE 3000
17 |
18 | CMD ["npm", "start"]
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom20 {
12 | margin-top: 20px;
13 | margin-bottom: 20px;
14 | }
15 | .margintopbottom10 {
16 | margin-top: 10px;
17 | margin-bottom: 10px;
18 | }
19 | .cardmin {
20 | min-width: 300px;
21 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 |
6 | import {Header} from "./Header";
7 | import {Menu} from "./Menu";
8 | import {Footer} from "./Footer";
9 |
10 | export class Layout extends React.Component {
11 | render() {
12 | const {children} = this.props
13 |
14 | return (
15 |
16 |
17 |
18 | {children}
19 |
20 |
21 | );
22 | }
23 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/src/sessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/SVCClogo.png
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m6-Deploying-to-Node-Server/_experimental/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | .idea
4 | db.json
5 | dbreal.json
6 | .env
7 |
8 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:alpine
2 |
3 | # Create app directory
4 | RUN mkdir -p /usr/src
5 | WORKDIR /usr/src
6 |
7 | # Install app dependencies
8 | COPY package.json /usr/src/
9 | COPY package-lock.json /usr/src/
10 | RUN npm install
11 |
12 | # Bundle app source
13 | COPY . /usr/src
14 |
15 | RUN npm run build
16 | EXPOSE 3000
17 |
18 | CMD ["npm", "start"]
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom20 {
12 | margin-top: 20px;
13 | margin-bottom: 20px;
14 | }
15 | .margintopbottom10 {
16 | margin-top: 10px;
17 | margin-bottom: 10px;
18 | }
19 | .cardmin {
20 | min-width: 300px;
21 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/pages/_document.js:
--------------------------------------------------------------------------------
1 | /*
2 | In production the stylesheet is compiled to .next/static/style.css and served from /_next/static/style.css
3 |
4 | You have to include it into the page using either next/head or a custom _document.js, as is being done in this file.
5 | */
6 |
7 | import Document, {Head, Main, NextScript} from 'next/document'
8 |
9 | export default class MyDocument extends Document {
10 | render() {
11 | return (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | )
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 |
6 | import {Header} from "./Header";
7 | import {Menu} from "./Menu";
8 | import {Footer} from "./Footer";
9 |
10 | export class Layout extends React.Component {
11 | render() {
12 | const {children} = this.props
13 |
14 | return (
15 |
16 |
17 |
18 | {children}
19 |
20 |
21 | );
22 | }
23 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/src/sessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/SVCClogo.png
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/02-Better-Image-Handling-with-next-images/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | .idea
4 | db.json
5 | dbreal.json
6 | .env
7 |
8 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:alpine
2 |
3 | # Create app directory
4 | RUN mkdir -p /usr/src
5 | WORKDIR /usr/src
6 |
7 | # Install app dependencies
8 | COPY package.json /usr/src/
9 | COPY package-lock.json /usr/src/
10 | RUN npm install
11 |
12 | # Bundle app source
13 | COPY . /usr/src
14 |
15 | RUN npm run build
16 | EXPOSE 3000
17 |
18 | CMD ["npm", "start"]
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom20 {
12 | margin-top: 20px;
13 | margin-bottom: 20px;
14 | }
15 | .margintopbottom10 {
16 | margin-top: 10px;
17 | margin-bottom: 10px;
18 | }
19 | .cardmin {
20 | min-width: 300px;
21 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 |
6 | import {Header} from "./Header";
7 | import {Menu} from "./Menu";
8 | import {Footer} from "./Footer";
9 |
10 | export class Layout extends React.Component {
11 | render() {
12 | const {children} = this.props
13 |
14 | return (
15 |
16 |
17 |
18 | {children}
19 |
20 |
21 | );
22 | }
23 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/src/sessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/SVCClogo.png
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/03-Adding-Page-Caching-to-the-Node-Express-Server/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | .idea
4 | db.json
5 | dbreal.json
6 | .env
7 |
8 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:alpine
2 |
3 | # Create app directory
4 | RUN mkdir -p /usr/src
5 | WORKDIR /usr/src
6 |
7 | # Install app dependencies
8 | COPY package.json /usr/src/
9 | COPY package-lock.json /usr/src/
10 | RUN npm install
11 |
12 | # Bundle app source
13 | COPY . /usr/src
14 |
15 | RUN npm run build
16 | EXPOSE 3000
17 |
18 | CMD ["npm", "start"]
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom20 {
12 | margin-top: 20px;
13 | margin-bottom: 20px;
14 | }
15 | .margintopbottom10 {
16 | margin-top: 10px;
17 | margin-bottom: 10px;
18 | }
19 | .cardmin {
20 | min-width: 300px;
21 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/pages/_document.js:
--------------------------------------------------------------------------------
1 | /*
2 | In production the stylesheet is compiled to .next/static/style.css and served from /_next/static/style.css
3 |
4 | You have to include it into the page using either next/head or a custom _document.js, as is being done in this file.
5 | */
6 |
7 | import Document, {Head, Main, NextScript} from 'next/document'
8 |
9 | export default class MyDocument extends Document {
10 | render() {
11 | return (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | )
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 |
6 | import {Header} from "./Header";
7 | import {Menu} from "./Menu";
8 | import {Footer} from "./Footer";
9 |
10 | export class Layout extends React.Component {
11 | render() {
12 | const {children} = this.props
13 |
14 | return (
15 |
16 |
17 |
18 | {children}
19 |
20 |
21 | );
22 | }
23 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/src/sessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/SVCClogo.png
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/04-Using-a-CDN-for-JavaScript-CSS-Images/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | .idea
4 | db.json
5 | dbreal.json
6 | .env
7 |
8 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:alpine
2 |
3 | # Create app directory
4 | RUN mkdir -p /usr/src
5 | WORKDIR /usr/src
6 |
7 | # Install app dependencies
8 | COPY package.json /usr/src/
9 | COPY package-lock.json /usr/src/
10 | RUN npm install
11 |
12 | # Bundle app source
13 | COPY . /usr/src
14 |
15 | RUN npm run build
16 | EXPOSE 3000
17 |
18 | CMD ["npm", "start"]
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom20 {
12 | margin-top: 20px;
13 | margin-bottom: 20px;
14 | }
15 | .margintopbottom10 {
16 | margin-top: 10px;
17 | margin-bottom: 10px;
18 | }
19 | .cardmin {
20 | min-width: 300px;
21 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 |
6 | import {Header} from "./Header";
7 | import {Menu} from "./Menu";
8 | import {Footer} from "./Footer";
9 |
10 | export class Layout extends React.Component {
11 | render() {
12 | const {children} = this.props
13 |
14 | return (
15 |
16 |
17 |
18 | {children}
19 |
20 |
21 | );
22 | }
23 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/src/sessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/SVCClogo.png
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/05-Using-Placeholder-images-While-Waiting-for-Data/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/Notes.md:
--------------------------------------------------------------------------------
1 | # Course: Building Server-side Rendered React Apps for Beginners
2 | ## Module 7: Ensuring Your Server-side App Performs
3 | ### Author: Peter Kellner
4 |
5 | https://app.pluralsight.com/profile/author/peter-kellner
6 |
7 | [](https://www.youtube.com/watch?v=rJSXRGegxFw)
8 |
9 | *Note: If a clip is missing it means that there was no source presented in that clip*
10 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | .idea
4 | db.json
5 | dbreal.json
6 | .env
7 |
8 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/.env:
--------------------------------------------------------------------------------
1 | NODE_ENV=production
2 |
3 | RESTURL_SPEAKERS_PROD=https://www.siliconvalley-codecamp.com/rest/speakers/ps
4 | RESTURL_SPEAKERS_DEV=http://localhost:4000/speakers
5 |
6 | RESTURL_SPEAKER_PROD=https://www.siliconvalley-codecamp.com/rest/Speaker
7 | RESTURL_SPEAKER_DEV=http://localhost:4000/speakers
8 |
9 | RESTURL_SESSIONS_PROD=https://www.siliconvalley-codecamp.com/rest/sessions/ps
10 | RESTURL_SESSIONS_DEV=http://localhost:4000/sessions
11 |
12 | BUGSNAG_SERVER_API_KEY=0031f052a40f457bb66b714c9ca36b16
13 | BUGSNAG_BROWSER_API_KEY=a463a057-294e-458d-843c-b42d9bbd91db
14 |
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/.env.txt:
--------------------------------------------------------------------------------
1 | DB_HOST=abcd1
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:alpine
2 |
3 | # Create app directory
4 | RUN mkdir -p /usr/src
5 | WORKDIR /usr/src
6 |
7 | # Install app dependencies
8 | COPY package.json /usr/src/
9 | COPY package-lock.json /usr/src/
10 | RUN npm install
11 |
12 | # Bundle app source
13 | COPY . /usr/src
14 |
15 | RUN npm run build
16 | EXPOSE 3000
17 |
18 | CMD ["npm", "start"]
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/css/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom20 {
12 | margin-top: 20px;
13 | margin-bottom: 20px;
14 | }
15 | .margintopbottom10 {
16 | margin-top: 10px;
17 | margin-bottom: 10px;
18 | }
19 | .cardmin {
20 | min-width: 300px;
21 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/favicon.ico
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/now.json.XXX:
--------------------------------------------------------------------------------
1 | {
2 | "version": 2
3 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/pages/_app.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import App, {Container} from 'next/app';
3 | import {Layout} from "../src/Layout";
4 |
5 | export default class MyApp extends App {
6 | render() {
7 | const {Component, pageProps} = this.props
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/src/Footer.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from "react";
2 |
3 | export class Footer extends Component {
4 | render() {
5 | return
6 | Silicon Valley Code Camp 2018 is Hosted by PayPal in San Jose
7 | at their Town Hall location. 2121 North First Street. October 13-14 2018
8 |
;
9 | }
10 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/src/Layout.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import 'bootstrap/dist/css/bootstrap.min.css';
4 | import '../css/site.css';
5 |
6 | import {Header} from "./Header";
7 | import {Menu} from "./Menu";
8 | import {Footer} from "./Footer";
9 |
10 | export class Layout extends React.Component {
11 | render() {
12 | const {children} = this.props
13 |
14 | return (
15 |
16 |
17 |
18 | {children}
19 |
20 |
21 | );
22 | }
23 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/src/sessionCard.js:
--------------------------------------------------------------------------------
1 | import {Component} from "react";
2 | import React from "react";
3 |
4 | class SessionCard extends Component {
5 | render() {
6 | return (
7 |
8 |
9 |
10 |
{this.props.session.speakersNamesCsv}
11 |
{this.props.session.descriptionShort}
12 |
13 |
14 |
15 |
16 | );
17 | }
18 | }
19 |
20 | export default SessionCard;
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/SVCClogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/SVCClogo.png
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/site.css:
--------------------------------------------------------------------------------
1 | .large {
2 | padding: 50px
3 | }
4 | .cardwidth {
5 | width: 20rem;
6 | }
7 | .margintopbottom {
8 | margin-top: 20px;
9 | margin-bottom: 20px;
10 | }
11 | .margintopbottom10 {
12 | margin-top: 10px;
13 | margin-bottom: 10px;
14 | }
15 | .cardmin {
16 | min-width: 300px;
17 | }
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-10803.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-10803.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-10808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-10808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1124.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1124.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1269.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1269.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1530.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1530.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1725.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-1725.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-187.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-187.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-18805.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-18805.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-2920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-2920.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-39062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-39062.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-41808.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-41808.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-5996.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-5996.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-6548.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-6548.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-823.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-823.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-8367.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-8367.jpg
--------------------------------------------------------------------------------
/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-8590.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pkellner/pluralsight-course-server-side-rendered-react-nextjs/5f1b9659043363b193013c536e184f6cd1850a87/m7-Ensuring-Your-App-Performs/_experimental/static/speakers/Speaker-8590.jpg
--------------------------------------------------------------------------------