Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A Serverless JAMstack Virtual Lolly App with Gatsby, Storybook, FaunaDB, GraphQL, and TypeScript.

A SvelteKit starter app with nested routes, layouts, and page endpoints, optimized for Edge-first deployment on Vercel.

Starter theme for Hexo implemented with Jade and Less.

Not for profit themed Jekyll template with Donorbox donations, MailChimp newsletters, SEO tags, and CloudCannon editing.
The Project12e Virtual Lolly App is a serverless JAMstack boilerplate for a virtual lollipop gifting website, built with GatsbyJS, TypeScript, FaunaDB, GraphQL, and Netlify Functions.
This boilerplate demonstrates a complete serverless JAMstack architecture: a GatsbyJS front end, a GraphQL API deployed as a Netlify function, and FaunaDB as the data store. Users can create a virtual lolly via a form on the "/create-new" route, and each lolly gets its own static page generated at build time. The project is fully typed with TypeScript, developed with Storybook using the Component Driven Development (CDD) approach, and deployed to Netlify.
The app is bootstrapped with GatsbyJS. A user submits the lolly form, which uses Formik and Yup for validation; the data goes to a GraphQL API deployed as a Netlify function at "/new", which writes to FaunaDB. At build time, Gatsby fetches all lollies and generates static pages for each; for lollies without a static page, a Netlify function (showLolly) provides a dynamic fallback. The entire codebase is typed with TypeScript, and components are developed in isolation with Storybook.
The web app is deployed to Netlify and can be accessed at https://virtual-lolly-p12e.netlify.app/. The Storybook of the components is also deployed at https://virtual-lolly-storybook-p12e.netlify.app/.
The project uses FaunaDB to store information about all lollipops. It interacts with the database through a GraphQL API deployed as a Netlify function, demonstrating CRUD operations using GraphQL.
Yes, the project is completely typed with TypeScript. TypeScript support is included for Gatsby configuration files, Node API files, browser files, and SSR files, as well as for all components and logic.
The app generates static pages for all lollies at build time. For lollies that do not have a static page, a Netlify function named "showLolly" acts as a server-side rendering fallback, so any lolly created can still be accessed.
The project is built using the Component Driven Development (CDD) approach with Storybook. The Storybook is also built and deployed, with CI/CD handled by GitHub Actions, allowing components to be developed and tested in isolation before being integrated into the Gatsby app.
