Giter VIP home page Giter VIP logo

firetable's Introduction

Firetable

Firetable is a spreadsheet-like UI for Firestore.

No more building admin portals to let business users to access data from Google Cloud.

Commit

Firetable UI

Supports fields such as images, files, single/multi select, in addition to standard fields. Functions such as row resizing, data import/export are supported. More coming soon, for comprehensive list see ROADMAP.md.

Firetable screenshot

Setup instructions

1. Create a Firebase project (Instructions)

  • Create a Firestore database
  • Set up Firestore Security Rules: use Test Mode or set up required permissions. Below are sample rules that allow for unlimited access to the entire database:
    rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if true;
        }
      }
    }
    
  • Upgrade project to the Blaze Plan
  • Enable the Google sign-in method in Authentication / Sign-in method

2. (Optional) Create an Algolia project

  • Algolia’s free Community plan is sufficient

Why Algolia?

Algolia is currently used for the Connect Table cell type to link a cell to another row in another table. It may also be used in the future for further plain text search and filtering capabilities.

You can opt out of Algolia by commenting out the following lines in cloud_functions/functions/src/index.ts:

import algoliaFnsGenerator from "./algolia";
import algoliaConfig from "./algolia/algoliaConfig";
export const algolia = algoliaConfig.reduce((acc: any, collection) => {
  return { ...acc, [collection.name]: algoliaFnsGenerator(collection) };
}, {});

3. Clone this repo

git clone https://github.com/AntlerVC/firetable.git

4. Set up Cloud Functions

  • Install dependencies
cd cloud_functions/functions
yarn
  • Ensure that you have Firebase CLI installed. (Instructions)

  • Set cloud environment keys for Algolia: get the generated Application ID and Admin API Key from the Algolia API Keys page

firebase functions:config:set algolia.app=YOUR_APP_ID algolia.key=ADMIN_API_KEY
  • Deploy the Cloud Functions to your Firebase project
yarn deploy

5. Set React app environment variables

Create a .env file in the www directory

  • Get the generated Application ID and Search-Only API Key from the Algolia API Keys page

  • Get the Firebase Project ID and Web API Key from your Firebase Project’s Settings page. Click the cog icon on the left sidebar (under the Firebase logo) and click Project settings

REACT_APP_ALGOLIA_APP_ID=
REACT_APP_ALGOLIA_SEARCH_API_KEY=

REACT_APP_FIREBASE_PROJECT_ID=
REACT_APP_FIREBASE_PROJECT_WEB_API_KEY=

6. Install front-end dependencies

cd www
yarn

7. Run project locally

yarn start

Issues

Please create issues here.
Make sure to provide console log outputs and screenshots!

Roadmap and feature requests


About Antler Engineering

Firetable is created and being actively developed by Antler Engineering.

At Antler, 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 to be part of a global cohort of tech founders.

firetable's People

Contributors

shamsmosowi avatar notsidney avatar harinij avatar knshiro avatar itsermin avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.