Nick De Jesus
I like React, love React Native. I play Tekken competitively
by Nick DeJesus
Day 1 (2 hours)
Landing Page and Product Catalog
Day 2 (2 hours)
E-commerce, Checking out and Netlify Features
Jamstack is an architecture designed to make the web faster, more secure, and easier to scale.
Built on top of the core concepts of pre-rendering and decoupling
The front end is prebuilt into highly optimized static pages and assets during a build process. The pre-rendering process results in a JamStack site that can be served from a CDN. This is more cost effective, reduces the complexity of hosting and makes things less risky compared to dynamic servers as infra.
The process of creating a clean separation between systems or services. This allows JamStack developers to use APIs during build time or even after hosting. This allows for portability and flexibility as well as more security.
Security
JamStack removes multiple systems from the hosting infrastucture, less surface area to attack.
Scalability
CDN makes serving pages less complex, no logic or work flow for determining what can be cached or when
Performance
Pages are readily available
Rich Content = Higher Conversions
Next JS for JamStack Framework
Theme UI for component library and theming
Prismic for CMS
Stripe for Payments
use-shopping-cart (my library)
Netlify for . . . many things
Hosting, dev server, serverless functions, contact forms, auth, split testing and more
Follow the README to get set up:
Instead of writing everything from scratch, there will be lots of things pre-emptively setup. We'll be uncommenting a lot of the working code instead.
Use the search feature to look for "Walkthrough <number>" to get a description of what's already been set up.
Example: Search "Walkthrough 1" and then "Walkthrough 2"
Do the same search for "Steps <number>" when you're ready to make changes.
Component Library for creating themeable interfaces on constraint-based design principles.
export const theme = {
fonts: {
body: 'system-ui, sans-serif',
heading: '"Avenir Next", sans-serif',
monospace: 'Menlo, monospace',
},
colors: {
text: '#000',
background: '#fff',
primary: '#33e',
},
}
Theme Object determines what styles get applied
import { Box } from 'theme-ui'
export default (props) => (
<Box sx={{ color: 'primary' }}>
{...things that go in here}
</Box>
)
To access the styles in your theme, you use theme-ui components and pass your styles to the sx prop
Prismic is a CMS that's focused on making websites easier to edit for everyone, not just developers.
Everyone is happy :)
Today we'll be going over Netlify features, Stripe and use-shopping-cart.
Required:
You can deploy server-side code that acts as API endpoints. They run automatically in response to events or processes more complex jobs in the background.
In this workshop, we use a serverless function called redirect-to-checkout
This is a typical call to Stripe's API with a few parts to it.
Easy to use, hosted solution for processing payments. Fast, secure and always improving.
By Nick De Jesus