Back to templates

Template details

Project12d Bookmarking App

A serverless JAMstack bookmarking app built with Gatsby, FaunaDB, GraphQL, Netlify Functions, and TypeScript.

About this template

Project12d Bookmarking App is a serverless JAMstack bookmarking application template built with Gatsby, FaunaDB, GraphQL, Netlify Functions, and TypeScript, providing a complete dashboard for managing bookmarks with full CRUD operations.

What is Project12d Bookmarking App?

Project12d is a ready-to-deploy bookmarking app bootstrapped with GatsbyJS and hosted on Netlify. It uses FaunaDB as its database, exposed through a GraphQL API that runs inside a Netlify Function. The entire codebase is typed with TypeScript, including configuration files like gatsby-config, gatsby-node, gatsby-browser, and gatsby-ssr. The frontend is built with React and styled with Material-UI components, delivering a responsive and interactive user interface.

The app demonstrates a full serverless JAMstack architecture: a static Gatsby site that talks to a GraphQL API via Netlify Functions, which in turn interacts with FaunaDB. State management is handled by Apollo Client's InMemoryCache and React's Context API, and the project includes CI/CD via Netlify's built-in deployment pipeline. A live version of the deployed web app is available at https://bookmarking-app-p12d.netlify.app/.

Key Features

  • Dashboard for bookmark management — Users get a dedicated dashboard to manage all of their bookmarks in one place.
  • Full CRUD operations — Create new bookmarks, update existing ones, delete individual bookmarks, and perform batch deletes.
  • GraphQL API on Netlify Functions — A GraphQL API is hosted inside a Netlify Function to provide a typed interface to the data layer.
  • FaunaDB integration — Bookmark data is fetched from and written to FaunaDB using GraphQL queries and mutations.
  • TypeScript throughout — The project is completely typed with TypeScript, including Gatsby's special configuration files.
  • Material-UI responsive design — The UI is built with Material-UI components, making it fully interactive and responsive.
  • Netlify deployment and CI/CD — The site is hosted on Netlify with continuous integration and deployment set up out of the box.

Who is it for?

  • Gatsby developers looking for a reference implementation of a full-stack JAMstack application with serverless functions and a real database.
  • Developers learning FaunaDB and GraphQL — this project shows how to perform CRUD operations against FaunaDB through a GraphQL API.
  • Hobbyists and makers who want a personal bookmarking app they can deploy quickly and customize to their needs.

What can you do with it?

  • Deploy a personal bookmark manager: Use the dashboard to save, edit, and remove bookmarks from any device.
  • Study a serverless architecture: Explore how Gatsby static generation, Netlify Functions, and FaunaDB work together in a single project.
  • Extend the app: Add new fields to bookmarks, integrate with other services, or restyle the Material-UI components to match your brand.

screenshot of Project12d Bookmarking App on template0.com