All Projects → saasify-sh → sheetful

saasify-sh / sheetful

Licence: other
The sheetiest REST API on the block.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to sheetful

nocodb
🔥 🔥 🔥 Open Source Airtable Alternative - turns any MySQL, Postgres, SQLite into a Spreadsheet with REST APIs.
Stars: ✭ 28,894 (+44352.31%)
Mutual labels:  low-code, no-code
badaso
The API & platform builder, build your apps 10x faster even more, it's open source & 100% free !
Stars: ✭ 650 (+900%)
Mutual labels:  low-code, no-code
pd
明道云私有部署版 - 快速部署可免费使用的零代码企业应用平台(APaaS)
Stars: ✭ 249 (+283.08%)
Mutual labels:  low-code, no-code
appflowy
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
Stars: ✭ 24,929 (+38252.31%)
Mutual labels:  low-code, no-code
CoCreate-dashboard
A simple dashboard component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.
Stars: ✭ 20 (-69.23%)
Mutual labels:  low-code, no-code
pixiebrix-extension
PixieBrix browser extension
Stars: ✭ 45 (-30.77%)
Mutual labels:  low-code, no-code
awesome-lowcode
A collection of Awesome low-code development platform (LCDP).
Stars: ✭ 75 (+15.38%)
Mutual labels:  low-code, no-code
Brick Design
全场景流式布局,可视化拖拽、随意嵌套组合、实时渲染、实时辅助线展示,实时组件间距展示、实时拖拽排序、状态域管理,可视化属性配置、可视化样式配置、多设备适配展示,支持逻辑渲染、模板字符变量、表达式、自定义方法、自定义状态
Stars: ✭ 4,048 (+6127.69%)
Mutual labels:  low-code, no-code
CoCreateCSS
A lightweight utility-first Atomic CSS framework promoting rapid UI development. No learning curve... Apply your native css property:value directly in class, then extract and transform it.
Stars: ✭ 13 (-80%)
Mutual labels:  low-code, no-code
Amis
前端低代码框架,通过 JSON 配置就能生成各种页面。
Stars: ✭ 8,930 (+13638.46%)
Mutual labels:  low-code, no-code
use-google-sheets
📝 A React Hook for getting data from Google Sheets API v4
Stars: ✭ 75 (+15.38%)
Mutual labels:  google-sheets, google-sheets-api
Gspread
Google Sheets Python API
Stars: ✭ 5,676 (+8632.31%)
Mutual labels:  google-sheets, google-sheets-api
tefact
🏭 (Beta) 轻量级无代码/低代码 H5、表单编辑器。Lightweight no-code/low-code editor for website、H5 page and Form. Build your page without code!
Stars: ✭ 244 (+275.38%)
Mutual labels:  low-code, no-code
Retrosheet
Turn Google Spreadsheet to JSON endpoint (for Android and JVM) for FREE (100%)
Stars: ✭ 245 (+276.92%)
Mutual labels:  google-sheets
CryptoTickerBot
A .NET Core program to fetch ticker data from various crypto exchange websites.
Stars: ✭ 30 (-53.85%)
Mutual labels:  google-sheets-api
Googlesheets4
Google Spreadsheets R API (reboot of the googlesheets package)
Stars: ✭ 232 (+256.92%)
Mutual labels:  google-sheets
Templeapp
Android App which handles the information about temple. People can register and keep a track of all poojas, donations made to the temple.
Stars: ✭ 231 (+255.38%)
Mutual labels:  google-sheets
TSDataTable
Simple, Elegant Data Tables for Google Sheets & Sites
Stars: ✭ 23 (-64.62%)
Mutual labels:  google-sheets
robo-chart-web
📊 Transform Google sheets to pretty charts!
Stars: ✭ 28 (-56.92%)
Mutual labels:  google-sheets
Flutter2googlesheets Demo
A Demo application📱 which stores User feedback from 💙Flutter application into Google Sheets🗎 using Google AppScript.
Stars: ✭ 228 (+250.77%)
Mutual labels:  google-sheets

Sheetful

The easiest way to turn your Google Sheet into a Restful API.

That means you can GET, POST, PUT and DELETE to any spreadsheet with just a few lines of code.

Build Status JavaScript Style Guide

Features

  • 💯 Open source
  • 💪 Use Google Sheets as a simple DB / CMS
  • Perfect for low / no-code workflows
  • 🤖 An OpenAPI spec is auto-generated from the code
  • 💰 Saasify makes it easy to monetize these types of APIs

Local Usage

# install dependencies
yarn
# configure your GOOGLE_API_KEY
echo GOOGLE_API_KEY='XXX' > .env

# run the development server
yarn dev

# or run the production server
yarn build
yarn start

Now you can access any of your Google Sheets via simple HTTP REST commands:

curl localhost:4000/<document-id>/<sheet-id-or-index> | jq .

# for example
curl localhost:4000/1qoK-nrybNcgkrSiXPZd7bsZa-4KBuGUZx3WAfV_vnD0/0 | jq .

This example returns all rows in a public Google Sheet as JSON. Note that it assumes you've provided a GOOGLE_API_KEY environment variable (see below for details).

Example output:

[
  {
    "Price": "$300,000",
    "Address": "45 Grace Ct # 3D, Brooklyn, NY 11201",
    "Type": "Co-op for sale",
    "Image": "https://photos.zillowstatic.com/p_e/ISble2jd41y6ry0000000000.jpg"
  },
  {
    "Price": "",
    "Address": "81 Pierrepont St, Brooklyn, NY 11201",
    "Type": "Townhouse for sale",
    "Image": "https://photos.zillowstatic.com/p_e/IS3r1ehrg64gph1000000000.jpg"
  },
  {
    "Price": "$849,000",
    "Address": "251 Pacific St APT 11, Brooklyn, NY 11201",
    "Type": "Co-op for sale",
    "Image": "https://photos.zillowstatic.com/p_e/ISzv6yuetksjfs0000000000.jpg"
  },
  {
    "Price": "",
    "Address": "360 Furman St APT 1216, Brooklyn, NY 11201",
    "Type": "Condo for sale",
    "Image": "https://photos.zillowstatic.com/p_e/ISadsnq9f2ahh51000000000.jpg"
  },
  {
    "Price": "$999,000",
    "Address": "114 Clinton St APT 5C, Brooklyn, NY 11201",
    "Type": "Co-op for sale",
    "Image": "https://photos.zillowstatic.com/p_e/IS7e2ppvpy2v7i0000000000.jpg"
  },
  // redacted...
  {
    "Price": "$4,750,000",
    "Address": "169 Columbia Hts APT 5A, Brooklyn, NY 11201",
    "Type": "Condo for sale",
    "Image": "https://photos.zillowstatic.com/p_e/ISfob57za37h381000000000.jpg"
  }
]

Authentication

All endpoints support two forms of authentication depending on your use case.

If an oauth access token is provided for a given call, it will take precedence. Otherwise, the default is to use an API key if process.env.GOOGLE_API_KEY exists.

If neither form of authentication is provided, the server will return a 401 Unauthorized error.

API Key

This allows read-only access to public Google Sheets and is great for getting started.

See this guide for acquiring an API key.

You can then add your GOOGLE_API_KEY as an environment variable directly or via .env which will be loaded by the server.

Be careful to never check your API key into version control.

OAuth2

This is the most flexible and powerful form of authentication.

It allows your API to read and write a user's private Google Sheets.

OAuth access tokens take precedence over API keys.

All endpoints accept an optional header x-google-access-token which takes a valid Google oauth2 access token that's been granted the granted the https://www.googleapis.com/auth/spreadsheets scope.

Here are the same examples as above only this time using oauth (replace XXX with your access token).

curl localhost:4000/<document-id>/<sheet-id-or-index> -H 'x-google-access-token: XXX' | jq .

# for example
curl localhost:4000/1qoK-nrybNcgkrSiXPZd7bsZa-4KBuGUZx3WAfV_vnD0/0 -H 'x-google-access-token: XXX' | jq .

Be careful to never check your oauth access tokens into version control.

Deploying to ZEIT now

This project exposes a standard Koa server that's transpiled from src/server.ts to build/server.js.

Here's an example of this service hosted as a ZEIT now lambda: https://sheetful-transitive-bullshit.saasify.now.sh.

In terms of best practices, it'd be nice to break up each endpoint into its own lambda, but the potential perf delta is likely negligible.

Why

Google Sheets is a simple, familiar interface that allows anyone to easily manage their data and content.

By treating Google Sheets as a DB / CMS and providing a basic RESTful JSON API on top, we can build thousands of potential no-code workflows.

This results in a DB / CMS with the perfect blend of power and simplicity, enabling creative makers to build all sorts of dynamic websites and apps.

Commercial Products

These are all commercial versions of this project that are not open source.

Inspiration

  • table2site - Build sites without coding, using an Airtable base as your CMS.
  • sheet2site - Create your own website without writing code using only Google Sheets.
  • AwesomeTable - Use spreadsheets to power dynamic views and apps.
  • ActionDesk - A spreadsheet natively connected with apps & data sources.

License

MIT © Saasify

Support my OSS work by following me on twitter twitter

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].