All Projects → tengkuhafidz → WebSheets-Listing-Page

tengkuhafidz / WebSheets-Listing-Page

Licence: MIT License
This is a Gatsby template for creating a catalogue websites based on Google Sheets data.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to WebSheets-Listing-Page

gatsby-blog-template
✍️ A GatsbyJS Blog Template for blogging purposes.
Stars: ✭ 38 (+31.03%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter, gatsby-template
gatsby-wordpress-typescript-scss-blog
Gatsby Wordpress Typescript Blog Boilerplate
Stars: ✭ 50 (+72.41%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter, gatsby-site
gatsby-starter-fractal
Gatsby.js V2 starter template based on Fractal by HTML5 UP
Stars: ✭ 19 (-34.48%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter, gatsby-site
gatsby-starter-leaflet
🍃 A Gatsby starter with Leafet to quickly build React apps with a map!
Stars: ✭ 108 (+272.41%)
Mutual labels:  gatsby, gatsby-starter, gatsby-site
gatsby-starter-breeze
A Gatsby starter for graceful blogging in Chinese.
Stars: ✭ 44 (+51.72%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-portfolio-bella
A bright single-page portfolio starter for Gatsby powered by Prismic.io. The target audience are designers and photographers.
Stars: ✭ 125 (+331.03%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-apple
🍎 Gatsby blog starter kit with beautiful responsive design
Stars: ✭ 88 (+203.45%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-typescript-emotion-storybook
Gatsby Starter: TypeScript + Emotion + Storybook + React Intl + SVGR + Jest
Stars: ✭ 63 (+117.24%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-generator
🎰 Generate Gatsby Starters in Seconds
Stars: ✭ 23 (-20.69%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-devto
A GatsbyJS starter template that leverages the Dev.to API
Stars: ✭ 13 (-55.17%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter
Gatsby Starter for creating portfolio & blog.
Stars: ✭ 55 (+89.66%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-wiki
Creating a Knowledgbase using Gatsby.js and React.js (see final product ->
Stars: ✭ 32 (+10.34%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-paradigmshift
Gatsby.js V2 starter template based on Paradigm Shift by HTML5 UP
Stars: ✭ 16 (-44.83%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-multiverse
Gatsby.js V2 starter template based on multiverse by HTML5 UP
Stars: ✭ 14 (-51.72%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-antoine
My opinionated Gatsby.js starter
Stars: ✭ 17 (-41.38%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-ghost-novela-starter
A Gatsby starter for creating blogs from headless Ghost CMS.
Stars: ✭ 31 (+6.9%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-contentful-typescript-starter
Gatsby.js starter with TypeScript and Contentful
Stars: ✭ 15 (-48.28%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-i18n-bulma
A gatsby multilanguage template with bulma and i18n: it is a work in progress...
Stars: ✭ 22 (-24.14%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-prologue
Gatsby.js V2 starter template based on readonly by HTML5 UP
Stars: ✭ 24 (-17.24%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter
gatsby-starter-typescript
Typescript version of the default Gatsby starter. Uses Gatsby v1.x
Stars: ✭ 58 (+100%)
Mutual labels:  gatsby, gatsbyjs, gatsby-starter

Overview 🧐

WebSheets Listing Page is an open-sourced Gatsby template that generates listing/directory websites based on Google Sheets data. The generated website will be a fast-loading static progressive web app with SEO and offline capabilities.

Features

  • Google Sheets as Content Management System (CMS)
  • Fast loading static site
  • Offline capable Progressive Web App (PWA)
  • SEO Optimised
  • Google analytics configured
  • Mobile responsive design
  • Dark/light mode
  • Share-to-socials button
  • Multiple layout combinations
  • Call to action buttons

Sponsor Development

If you find this project helpful in any way, you can support my coffee intake in making this at https://www.buymeacoffee.com/sohafidz. ☕️

Getting Started 🚀

Project Requirements

  1. Node
  2. Gatsby CLI npm install -g gatsby-cli

Preparing the Project

Step 1: Preparing your Sheets data

  1. Make a copy of this google sheets template
  2. Change the privacy setting to allow anyone with the link to view
    • Click the share button and change the privacy to Anyone on the Internet with this link can view
  3. Fill in the google sheets with the general site information (on the site tab) and details of items you want to list *on the listing tab)
    • The tab names (site, listing) should NOT be changed.

Step 2: Preparing your Google API key

  1. Create a Google API project
  2. Enable Google Sheets API for that project
    • Click the ENABLE button and select the project that you created
  3. Create the Google API key for that project
    • Click CREATE CREDENTIALS button and select API key

Step 3: Preparing the Repository

  1. Run gatsby new [YOUR_SITE_NAME] tengkuhafidz/WebSheets-Listing-Page
  2. Create .env file on the project root and add the following environment variables
    • GATSBY_GOOGLE_CREDENTIALS="Google-Api-Key-With-Quatations"
    • GATSBY_SHEET_URL="Google-Sheets-URL-With-Quotations"

Running the Project

Running on Dev Environment

  1. Run npm start
    • Your site will run at http://localhost:8000
    • You graphiql will run athttp://localhost:8000/___graphql

Running on Prod Environment

  1. Run npm run build
  2. Run npm run serve
    • Your site will run at http://localhost:9000

Troubleshooting

Having an issue? The following are common setup mistakes that might have caused it. Please ensure that the following are set properly.

  • Google Sheets privacy settings MUST minimally be set to Anyone on the Internet with this link can view
  • Google Sheets API MUST be ENABLED for the project that you're using the API key of
  • The value of environment variables MUST be in between double quotations
  • Ensure that you have a .env file on your project root with the following params: GATSBY_GOOGLE_CREDENTIALS, GATSBY_SHEET_URL

Underlying Tech 🦾

Main Frameworks & API

  • Gatsby
  • Typescript
  • TailwindCSS
  • Google Sheets API

With prettier, eslint, and husky configured out of the box.

Folder Structure

   .
   ├── node_modules
   ├── src
   ├── static
   ├── .gitignore
   ├── .eslintrc.js
   ├── .prettierrc.js
   ├── gatsby-browser.js
   ├── gatsby-config.js
   ├── LICENSE
   ├── yarn-lock.json
   ├── package.json
   ├── tailwind.config.js
   ├── postcss.config.js
   └── README.md

About

Contact

You may contact me via email at [email protected].

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].