Giter Club home page Giter Club logo

detonate's Introduction

Detonate time tracker extension

Browser extension using Google Sheets as data storage written in React

  • Chrome
  • Firefox
  • Edge
  • Opera

Features

  • Google Sheet as database storage
    • Privacy. No sharing sensitive data with 3rd party. It's your personal data. It should belong to you.
    • Sheets is way better at handling numbers than me. You can do all kinds of analysis using graphs, formulas, etc.
  • Tracking Daily Projects Task
  • Daily summary
  • Select Cliets, Projects and releted Tickets
  • React Popup App and Content Script
    • React Hooks
    • useReducer and Context Api
  • CSS-in-JS
    • Tailwind CSS
    • Emotion Styled Components
    • Babel Tailwind macro "tw"
    • Dark/Light theme (WIP)
  • Custom Webpack
    • Watch mode dev server

Getting started

  1. Make a copy of Detonate - Time Tracking Sheet to your drive File -> Make a copy...

  2. Note the YOUR_SPREADSHEET_ID of the new sheet (it's part of the URL)

  3. Duplicate the DEtonate example tracking sheet with your name and take a note of YOUR_TABLE_NAME

  4. Edit the rename .env.sample to .envand edit it with your data:

REACT_APP_SPREADSHEET_ID=YOUR_SPREADSHEET_ID
REACT_APP_TABLE_NAME=YOUR_TABLE_NAME
  1. Clone, install dependencies
npm install
or
yarn
  1. Build the extension
npm run build
or
yarn build
  1. Create a Chrome extension with the files in the extension folder (you can follow this guide)

  2. Generate a OAuth 2.0 client ID in the Google API Console. Select "Chrome App", and insert your App ID (which is generated when you create the extension).

  3. In the manifest.json, replace "google_client_id" with your previously generated OAuth 2.0 client ID and update the "spreadsheetId" with your YOUR_SPREADSHEET_ID

  4. Update the .env file with YOUR_CLIENT_ID

REACT_APP_CLIENT_ID=YOUR_CLIENT_ID.apps.googleusercontent.com
  1. Generate an API key, leave it as unrestricted, updatethe .env file with the generated API key YOUR_API_KEY
REACT_APP_API_KEY=YOUR_API_KEY
  1. Re-Build the extension and enjoy!
npm run build
or
yarn build

Sharing

Adding another person (for example your partner) to the app is easy โ€“ you just give them access to the detonate sheet in Google Sheets.

After that, they have the same access as you are and can traking the time in the projects through the same URL.

detonate's People

Contributors

alexsanzder avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

rbreaves armvndj

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.