Skip to content

Feature: Google Drive Storage for Video/Audio Journals + Database Restructure #39

Description

@SH20RAJ

Description

Implement Google Drive integration for storing video and audio journals, and restructure the database to separate media journals from text journals.

Goals

1. Google Drive Connector

  • Implement Google Drive OAuth2 flow
  • Create folder structure on user's Drive: /Debo/Videos/, /Debo/Audios/, /Debo/Transcripts/
  • Upload video journals to Google Drive
  • Upload audio journals to Google Drive
  • Store Drive file metadata in database (file ID, web URL, thumbnail)
  • Stream media directly from Google Drive

2. Database Restructure

  • Create video_journals table:
    - id: text (primary key)
    - userId: text (references user.id)
    - title: text
    - driveFileId: text (Google Drive file ID)
    - driveWebUrl: text (shareable URL)
    - thumbnailUrl: text (video thumbnail)
    - duration: integer (seconds)
    - transcript: text
    - createdAt: timestamp
    - updatedAt: timestamp
  • Create audio_journals table:
    - id: text (primary key)
    - userId: text (references user.id)
    - title: text
    - driveFileId: text
    - driveWebUrl: text
    - transcript: text
    - duration: integer (seconds)
    - createdAt: timestamp
    - updatedAt: timestamp
  • Keep journals table for text-only entries
  • Add sorting options on /dashboard (date, title, type)
  • Add filter by content type (text/video/audio)

3. UI Updates

  • Add sort dropdown on journals page
  • Add filter tabs (All, Text, Video, Audio)
  • Display media type indicators
  • Add video/audio preview in journal cards

Why This Matters

  1. Storage: Offload large media files to user's Google Drive instead of server storage
  2. Organization: Structured folders make it easy to find/manage media
  3. Portability: Users can access their media directly from Google Drive
  4. Performance: Stream directly from Drive, no server bandwidth needed

Related

See todo.md for full project roadmap.

Priority

Medium-High


Created from Debo development

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions