mirror of
https://github.com/rowyio/rowy.git
synced 2025-12-29 00:16:39 +01:00
Merge branch 'master' into develop
* master: Bump color-string from 1.5.4 to 1.6.0 in /cloud_functions/functions Update tweet_release.yml Update tweet_release.yml Create tweet_release.yml Sparks Template Update README.md Update README.md Create README.md add multiselect csv parser
This commit is contained in:
48
.github/workflows/tweet_release.yml
vendored
Normal file
48
.github/workflows/tweet_release.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: tweet_releases
|
||||
|
||||
# Controls when the workflow will run
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the master branch
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
build:
|
||||
name: Tweet
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Post Twitter Status
|
||||
uses: julb/action-post-twitter-status@v1
|
||||
env:
|
||||
twitter_app_consumer_api_key: ${{ secrets.TWITTER_API_KEY }}
|
||||
twitter_app_consumer_api_secret_key: ${{ secrets.TWITTER_API_SECRET_KEY }}
|
||||
twitter_app_access_token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
|
||||
twitter_app_access_token_secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
|
||||
with:
|
||||
message: "Testing github action for tweeting new releases and updates to Firetable project"
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
build:
|
||||
name: Tweet
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Post Twitter Status
|
||||
uses: julb/action-post-twitter-status@v1
|
||||
env:
|
||||
twitter_app_consumer_api_key: ${{ secrets.TWITTER_API_KEY }}
|
||||
twitter_app_consumer_api_secret_key: ${{ secrets.TWITTER_API_SECRET_KEY }}
|
||||
twitter_app_access_token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
|
||||
twitter_app_access_token_secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
|
||||
with:
|
||||
message: "Testing github action for tweeting new releases and updates to Firetable project"
|
||||
|
||||
135
README.md
135
README.md
@@ -1,13 +1,34 @@
|
||||
[](https://firetable.io)
|
||||
<h1 align="center">
|
||||
Firetable
|
||||
</h1>
|
||||
|
||||
<h3 align="center">
|
||||
Firetable is an open-source platform to unlock the full potential of Google Firestore
|
||||
</h3>
|
||||
|
||||
<p align="center">
|
||||
With Firetable, non-technical team members can access Firestore data with a permission controlled intuitive UI while developers can build fast on the GCP stack (manage their data models, create and deploy cloud functions, connect to third party apps via webhooks and APIs...and more!) 🚀
|
||||
</p>
|
||||
|
||||
<!-- [](https://firetable.io) -->
|
||||
|
||||
<h3 align="center">
|
||||
<a href="https://firetable.io">Website</a>
|
||||
<span> · </span>
|
||||
<a href="https://discord.gg/B8yAD5PDX4">Discord</a>
|
||||
<span> · </span>
|
||||
<a href="https://twitter.com/firetableio">Twitter</a>
|
||||
|
||||
</h3>
|
||||
|
||||
<p align="center">
|
||||
|
||||
<a aria-label="License" href="https://github.com/AntlerVC/firetable/blob/master/LICENSE">
|
||||
<img src="https://badgen.net/github/license/AntlerVC/firetable" />
|
||||
<a aria-label="License" href="https://github.com/FiretableProject/firetable/blob/master/LICENSE">
|
||||
<img src="https://badgen.net/github/license/FiretableProject/firetable" />
|
||||
</a>
|
||||
|
||||
<a aria-label="Commits" href="https://github.com/AntlerVC/firetable/commits/develop">
|
||||
<img src="https://badgen.net/github/last-commit/AntlerVC/firetable/develop" />
|
||||
<a aria-label="Commits" href="https://github.com/FiretableProject/firetable/commits/develop">
|
||||
<img src="https://badgen.net/github/last-commit/FiretableProject/firetable/develop" />
|
||||
</a>
|
||||
|
||||
<a aria-label="Firetable CLI" href="https://npmjs.com/package/firetable">
|
||||
@@ -16,26 +37,55 @@
|
||||
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://try.firetable.io" >
|
||||
<img align="center" alt="Firetable demo GIF" src="https://firetable.io/demo.gif" width="100%">
|
||||
</a>
|
||||
</p>
|
||||
<br/>
|
||||
<h3 align="center">
|
||||
<a href="https://try.firetable.io">Live Demo</a>
|
||||
<span> · </span>
|
||||
<a href="https://github.com/FiretableProject/firetable/wiki/Getting-Started">Get started</a>
|
||||
<span> · </span>
|
||||
<a href="https://github.com/FiretableProject/firetable/issues/new?assignees=&labels=&template=feature_request.md&title=">Feature request</a>
|
||||
<span> · </span>
|
||||
<a href="https://github.com/FiretableProject/firetable/issues/new?assignees=&labels=&template=bug_report.md&title=">Report a bug</a>
|
||||
<span> · </span>
|
||||
<a href="https://discord.gg/B8yAD5PDX4">Discussions</a>
|
||||
</a>
|
||||
</h3>
|
||||
<br/>
|
||||
|
||||
# Features
|
||||
|
||||
- Spreadsheet interface for viewing Firestore collections, documents, and
|
||||
subcollections.
|
||||
- **Intuitive spreadsheet like interface for Firestore.** With Firetable UI you
|
||||
can view and directly edit the data in Firestore but not just that, you can
|
||||
completely manage your existing data model or create from scratch.
|
||||
|
||||
- Add, edit, and delete rows
|
||||
- Sort and filter by row values
|
||||
- CRUD operations on your data - Add, edit, and delete rows
|
||||
- Create table collections, add column fields
|
||||
- Sort and filter data
|
||||
- Resize and rename columns
|
||||
|
||||
- 27 different field types.[Read more](https://github.com/AntlerVC/firetable/wiki/Field-Types)
|
||||
- **Rich set of data fields.**
|
||||
[29+ field types](https://github.com/FiretableProject/firetable/wiki/Field-Types)
|
||||
supported and growing
|
||||
|
||||
- Basic types: Short Text, Long Text, Email, Phone, URL…
|
||||
- Custom UI pickers: Date, Checkbox, Single Select, Multi Select…
|
||||
- Uploaders: Image, File
|
||||
- Rich Editors: JSON, Code, Rich Text (HTML)
|
||||
|
||||
- Powerful access controls with custom user roles.
|
||||
[Read more](https://github.com/AntlerVC/firetable/wiki/Role-Based-Security-Rules)
|
||||
- **Permission controlled views.** You can customize who sees what data and what
|
||||
action they can take with powerful set of access controls based on custom user
|
||||
roles.
|
||||
[Read more](https://github.com/FiretableProject/firetable/wiki/Role-Based-Security-Rules)
|
||||
|
||||
|
||||
- **Bulk data actions.** You can import and export your Firestore data from/to CSV files.
|
||||
|
||||
- Supercharge your database with your own scripts.
|
||||
- **Supercharge your database with your own scripts.**
|
||||
|
||||
- Action field: trigger any Cloud Function
|
||||
- Derivative field: populate cell with value derived from the rest of the
|
||||
@@ -43,7 +93,7 @@
|
||||
- Aggregate field: populate cell with value aggregated from the row’s
|
||||
sub-table
|
||||
|
||||
- Integrations with external services.
|
||||
- **Integrations with external services.**
|
||||
- Connect Table uses Algolia to get a snapshot of another table’s row values
|
||||
- Connect Service uses any HTTP endpoint to get a cell value
|
||||
|
||||
@@ -51,30 +101,22 @@
|
||||
|
||||
<p align="center">
|
||||
<a href="https://firebase.google.com/products/firestore">
|
||||
<img src="https://github.com/AntlerVC/firetable/wiki/images/firebase/firestore.png" alt="Cloud Firestore" width="32%" />
|
||||
<img src="https://github.com/FiretableProject/firetable/wiki/images/firebase/firestore.png" alt="Cloud Firestore" width="19%" />
|
||||
</a>
|
||||
<a href="https://firebase.google.com/products/auth">
|
||||
<img src="https://github.com/AntlerVC/firetable/wiki/images/firebase/authentication.png" alt="Firebase Authentication" width="32%" />
|
||||
<img src="https://github.com/FiretableProject/firetable/wiki/images/firebase/authentication.png" alt="Firebase Authentication" width="19%" />
|
||||
</a>
|
||||
<a href="https://firebase.google.com/products/functions">
|
||||
<img src="https://github.com/AntlerVC/firetable/wiki/images/firebase/functions.png" alt="Firebase Functions" width="32%" />
|
||||
<img src="https://github.com/FiretableProject/firetable/wiki/images/firebase/functions.png" alt="Firebase Functions" width="19%" />
|
||||
</a>
|
||||
<a href="https://firebase.google.com/products/hosting">
|
||||
<img src="https://github.com/AntlerVC/firetable/wiki/images/firebase/hosting.png" alt="Firebase Hosting" width="32%" />
|
||||
<img src="https://github.com/FiretableProject/firetable/wiki/images/firebase/hosting.png" alt="Firebase Hosting" width="19%" />
|
||||
</a>
|
||||
<a href="https://firebase.google.com/products/storage">
|
||||
<img src="https://github.com/AntlerVC/firetable/wiki/images/firebase/storage.png" alt="Firebase Storage" width="32%" />
|
||||
<img src="https://github.com/FiretableProject/firetable/wiki/images/firebase/storage.png" alt="Firebase Storage" width="19%" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## [Live demo →](https://try.firetable.io)
|
||||
|
||||
<a href="https://try.firetable.io">
|
||||
<img align="center" alt="Firetable demo GIF" src="https://firetable.io/demo.gif">
|
||||
</a>
|
||||
|
||||
<br />
|
||||
|
||||
# Getting started
|
||||
|
||||
To set up Firetable, you must be comfortable with working with the command line.
|
||||
@@ -85,48 +127,43 @@ packages globally.
|
||||
We’ve created the Firetable CLI to automate the steps required to set up
|
||||
Firetable.
|
||||
|
||||
### [**Read the getting started guide →**](https://github.com/AntlerVC/firetable/wiki/Getting-Started)
|
||||
### [**Read the getting started guide →**](https://github.com/FiretableProject/firetable/wiki/Getting-Started)
|
||||
|
||||
<br />
|
||||
|
||||
# Documentation
|
||||
|
||||
We’re still working on improving our documentation and writing more
|
||||
beginner-friendly guides.
|
||||
|
||||
[**Documentation on GitHub Wiki →**](https://github.com/AntlerVC/firetable/wiki)
|
||||
|
||||
<br />
|
||||
[**Documentation on GitHub Wiki →**](https://github.com/FiretableProject/firetable/wiki)
|
||||
|
||||
# Issues
|
||||
|
||||
[](https://github.com/antlervc/firetable/issues)
|
||||
[](https://github.com/antlervc/firetable/issues)
|
||||
|
||||
[Create issues and bug reports here.](https://github.com/antlervc/firetable/issues)
|
||||
Make sure to provide console log outputs and screenshots!
|
||||
|
||||
# Roadmap and feature requests
|
||||
|
||||
- [Roadmap](https://github.com/AntlerVC/firetable/wiki/Roadmap)
|
||||
- [View our ideas and feature requests](https://github.com/AntlerVC/firetable/projects/1)
|
||||
|
||||
<br />
|
||||
- [Roadmap](https://github.com/FiretableProject/firetable/wiki/Roadmap)
|
||||
- [View our ideas and feature requests](https://github.com/FiretableProject/firetable/projects/1)
|
||||
|
||||
---
|
||||
|
||||
<br />
|
||||
<!-- # Join Our Community
|
||||
|
||||
# About Antler Engineering
|
||||
<a href="https://discord.gg/B8yAD5PDX4">
|
||||
<img
|
||||
src="https://invidget.switchblade.xyz/B8yAD5PDX4"
|
||||
alt="Join Firetable Open Source Project"
|
||||
>
|
||||
</a>
|
||||
<br> -->
|
||||
|
||||
<img src="https://firebasestorage.googleapis.com/v0/b/antler-vc.appspot.com/o/antler-logo.svg?alt=media&token=34db0e2e-1d24-4995-9efa-8bf209c55613" align="right" width="200" height="48" />
|
||||
# Contributing 🙌
|
||||
|
||||
Firetable is created and being actively developed by
|
||||
[Antler Engineering](https://twitter.com/AntlerEng).
|
||||
We welcome any contributions from the open source community.
|
||||
|
||||
At [Antler](https://antler.co), we identify and invest in exceptional people.
|
||||
|
||||
We’re a global startup generator and early-stage VC firm that builds
|
||||
groundbreaking technology companies.
|
||||
|
||||
[Apply now](<https://www.antler.co/apply?utm_source=Firetable&utm_medium=website&utm_campaign=Thu%20Apr%2016%202020%2018:00:00%20GMT%2B0200%20(CEST)&utm_content=TechTracking>)
|
||||
to be part of a global cohort of tech founders.
|
||||
- **[Good First Issues](https://github.com/FiretableProject/firetable/projects/3)** project is a good place to start for contributing to Firetable.
|
||||
- For new feature or enhancement, please create an issue first or send us a message on **[Discord](https://discord.gg/B8yAD5PDX4)** so that we can discuss and guide you as needed ahead of you starting the work.
|
||||
|
||||
@@ -1464,9 +1464,9 @@ color-name@^1.0.0, color-name@~1.1.4:
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-string@^1.5.2, color-string@^1.5.4:
|
||||
version "1.5.4"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6"
|
||||
integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312"
|
||||
integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==
|
||||
dependencies:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
|
||||
53
ft_build/sparksLib/template.ts
Normal file
53
ft_build/sparksLib/template.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
export const dependencies = {
|
||||
// --- Add your dependencies
|
||||
// algoliasearch: "^4.8.3",
|
||||
};
|
||||
// Define your spark
|
||||
const sparkName = async (data, sparkContext) => {
|
||||
|
||||
// Your spark inputs
|
||||
const { row, targetPath, fieldsToSync } = data;
|
||||
const { triggerType, change } = sparkContext;
|
||||
|
||||
// ---------------------------------------------
|
||||
// --- Utilise your dependencies ---
|
||||
// const algoliasearch = require("algoliasearch");
|
||||
|
||||
// ---------------------------------------------
|
||||
// --- Get the secret from Secrets Manager
|
||||
// Example: Algolia Secret
|
||||
// const { getSecret } = require("../utils");
|
||||
// const { appId, adminKey } = await getSecret("algolia");
|
||||
|
||||
// ---------------------------------------------
|
||||
// --- Connect to any third party extensions ---
|
||||
// Example Algolia
|
||||
// const client = algoliasearch(appId, adminKey);
|
||||
// const _index = client.initIndex(index);
|
||||
|
||||
|
||||
// ---------------------------------------------
|
||||
// --- Handle required trigger actions ---
|
||||
switch (triggerType) {
|
||||
|
||||
case "create":
|
||||
// create trigger actions
|
||||
break;
|
||||
|
||||
case "update":
|
||||
// update trigger actions
|
||||
break;
|
||||
|
||||
case "delete":
|
||||
// delete trigger actions
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
|
||||
|
||||
};
|
||||
|
||||
export default sparkName;
|
||||
@@ -40,6 +40,12 @@ export const config: IFieldConfig = {
|
||||
TableEditor: NullEditor,
|
||||
SideDrawerField,
|
||||
settings: Settings,
|
||||
csvImportParser: (v) => {
|
||||
if (v.includes(",")) {
|
||||
return v.split(",").map((i) => i.trim());
|
||||
} else if (v !== "") return [v];
|
||||
else return v;
|
||||
},
|
||||
requireConfiguration: true,
|
||||
};
|
||||
export default config;
|
||||
|
||||
Reference in New Issue
Block a user