Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bounty] Google Drive Integration for Fireproof #579

Open
heyjay44 opened this issue Feb 8, 2025 · 11 comments
Open

[Bounty] Google Drive Integration for Fireproof #579

heyjay44 opened this issue Feb 8, 2025 · 11 comments
Labels

Comments

@heyjay44
Copy link

heyjay44 commented Feb 8, 2025

$1000 USD | 5-7 days Development Timeline

Challenge Overview

Enable Fireproof applications to authenticate users via Google accounts and store data in Google Drive, creating a seamless experience for users who want to sync their Fireproof data across multiple devices. This integration will leverage Google Drive's APIs to store Fireproof data, allowing for single user sync across multiple laptops while maintaining Fireproof's security and performance characteristics.

Timeline

  • Development: 5-7 days
  • Review by Fireproof Team: 7 days
  • Payment: Within 7 days of completion

Acceptance Criteria

Core Functionality

  • Setup Google Cloud project with necessary Drive API permissions
  • Implement Google account authentication for Fireproof apps
  • Create an appDirectory in user's Google Drive for Fireproof data
  • Enable data synchronization between Fireproof and Google Drive
  • Implement using Fireproof 0.20 connect API

Technical Implementation

  • Configure Google Cloud project with Drive API access
  • Implement OAuth2 flow for Google account authentication
  • Create secure data structure in Google Drive for Fireproof data
  • Implement data sync between local Fireproof and Drive storage
  • Documentation of Google Cloud project setup process

User Experience

  • Seamless Google account login flow
  • Transparent sync across multiple devices
  • Clear feedback on sync status
  • Proper error messaging for auth/sync issues

Entry Guidelines

  • Anyone can submit their applications for this bounty
  • To be eligible to submit, you must reply to this issue

Submission Guidelines

  • Code must be well-documented
  • Working demo must be submitted for review
  • Must include setup instructions for Google Cloud project
  • Implementation must follow security best practices

Picking A Winner

  • Only one submission is eligible for the bounty.
  • The first complete submission that meets acceptance criteria will be eligible to receive the bounty.
  • Fireproof reserves the right to use its discretion in its decision-making process
  • To receive the bounty the winner will need to sign our Open Source Contributor agreement.

Payment Method

Bank transfer.

Additional Information

For technical questions, join our Discord: https://discord.gg/jZbHpcNy and introduce yourself to the team!

Reference documentation:

@heyjay44 heyjay44 added the bounty label Feb 8, 2025
@Myestery
Copy link

Myestery commented Feb 8, 2025

Hi @heyjay44 I'll like to work on this issue

@0xcodercrane
Copy link

Hi, @heyjay44, Could you assign this task to me?

Here is my approach to this project.

  1. Project Setup and Preparation
  • I will create a new project for the Fireproof app.
  • I will search Google Drive API, and enable it for the preparation.
  • I will create OAuth2 Credentials.
  • Setup Fireproof project on my local end.
  1. Authentication Part using OAuth2 authentication flow
  2. Integration Google Drive.
  3. Error handling and working on sync status notification part.
  4. Documentation and review.

I will follow the Fireproof 0.20 documentation while implementing this features.

Thanks.

@BenraouaneSoufiane
Copy link

Can I work on this?

@heyjay44
Copy link
Author

heyjay44 commented Feb 8, 2025

@Myestery @0xcodercrane @BenraouaneSoufiane

Anyone can work on this, but we are only naming one winner. Per above:

Picking A Winner

  • Only one submission is eligible for the bounty
  • The first complete submission that meets acceptance criteria will be eligible to receive the bounty

Best of luck! We are looking forward to reviewing the first submission! 🔥

@0xcodercrane
Copy link

Okay I will work on it.

@sofianedev14
Copy link

@heyjay44 can I clone the existing react+vite project, then add authentificate with google + google cloud api (drive api)?

@jchris
Copy link
Contributor

jchris commented Feb 11, 2025

hint: for testing you'll probably make a vitest entrypoint like https://github.com/fireproof-storage/connect/blob/main/vitest.cloud.config.ts

@0xcodercrane
Copy link

hint: for testing you'll probably make a vitest entrypoint like https://github.com/fireproof-storage/connect/blob/main/vitest.cloud.config.ts

Thanks, @jchris

@BenraouaneSoufiane
Copy link

Hello @heyjay44 I just submitted my essay: #592

@heyjay44
Copy link
Author

@jchris

@BenraouaneSoufiane
Copy link

BenraouaneSoufiane commented Feb 13, 2025

@heyjay44 @jchris Hello again, I just deploy it on codesandbox, here's the live demo: https://dd48sj-5173.csb.app/todo
The project: https://codesandbox.io/p/github/02-13-2025/fireproof/main?import=true
I'm fear from my work being copied & submitted as PR with some enhancement
I'll refresh the codesandbox (& authorize the new domains within the GC console) when ever I run out of credit on codesandbox (every two days I think) until the review, also please don't forget to share with me your email to authorize you from the GC console, because I think only authorized users can test the app, also don't forget to run the browser's console to see what's happening in the background
in case you use the codesandbox project:

cd examples/react-with-google-drive
yarn install
yarn dev

then authorize the new domain via vite.config.ts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants