-
Notifications
You must be signed in to change notification settings - Fork 0
Update main branch with version 0.1.0 #6
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
Conversation
bootstrap Drive download before H2 init using config/env settings add OAuth Drive service for sign-in/out, manual uploads, shutdown sync add Profile UI controls plus config template, docs, and Drive deps
drop WindowPreferencesService along with saved window/tab order handling in StudySyncUI, defaulting window size and centering on launch set panel scroll panes to avoid fit-to-height and remove tab-content max-height styling so content scrolls naturally
…-wrapper.jar and adding the tracked binary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces Google Drive cloud synchronization functionality to StudySync, allowing users to backup and sync their H2 database across multiple devices. The integration includes OAuth 2.0 authentication, automatic upload on shutdown, manual sync triggers, and a new UI panel for managing Drive connectivity.
Key Changes
- Google Drive Integration: Adds complete OAuth 2.0 flow and Drive API integration for database backup/restore
- UI Enhancements: New Drive Sync section in Profile view with sign-in, sign-out, and manual sync controls
- Architecture Simplification: Removes window state persistence (WindowPreferencesService) and CSS height constraints
- Build Configuration: Adds Google API client dependencies and CI workflow, includes gradle-wrapper.jar
Reviewed changes
Copilot reviewed 23 out of 26 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/com/studysync/integration/drive/* | Core Google Drive service classes handling OAuth, credentials, settings, and Drive API communication |
| src/main/java/com/studysync/presentation/ui/components/ProfileViewPanel.java | Adds Drive Sync UI panel with async action handlers and state management |
| src/main/java/com/studysync/presentation/ui/components/*.java | Updates ScrollPane behavior (setFitToHeight: false) across all panel components |
| src/main/java/com/studysync/presentation/ui/StudySyncUI.java | Removes WindowPreferencesService dependency and window state persistence |
| src/main/java/com/studysync/domain/service/WindowPreferencesService.java | Deletes entire service (breaking change) |
| src/main/java/com/studysync/StudySyncApplication.java | Adds GoogleDriveBootstrap initialization before Spring context |
| src/main/java/com/studysync/config/GoogleDriveConfiguration.java | Spring configuration for Drive settings bean |
| config/google/drive.properties.template | Template for Google OAuth credentials configuration |
| build.gradle | Adds Google API client libraries and maven.google.com repository |
| README.md & ARCHITECTURE.md | Documents Drive sync setup, flow, and architecture |
| .gitignore | Adds config/google/drive.properties, removes gradle-wrapper.jar exclusion |
| .github/workflows/ci.yml | New CI workflow (currently configured for v0.1.0 branch only) |
| gradle/wrapper/gradle-wrapper.jar | Adds Gradle wrapper JAR for reproducible builds |
| src/main/resources/styles.css | Removes fixed tab-content-area height constraint |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/main/java/com/studysync/presentation/ui/components/ProfileViewPanel.java
Show resolved
Hide resolved
src/main/java/com/studysync/integration/drive/GoogleDriveBootstrap.java
Outdated
Show resolved
Hide resolved
src/main/java/com/studysync/integration/drive/GoogleDriveBootstrap.java
Outdated
Show resolved
Hide resolved
src/main/java/com/studysync/integration/drive/GoogleDriveService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/studysync/presentation/ui/components/ProfileViewPanel.java
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: geokoko <71934918+geokoko@users.noreply.github.com>
Co-authored-by: geokoko <71934918+geokoko@users.noreply.github.com>
Add security best practices documentation to drive.properties.template
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…able manual control
…changes before exiting
[WIP] Update main branch based on feedback from PR #6
[WIP] Address feedback on updating main branch with version 0.1.0
|
Merging final v0.1.0 of the app to the base branch. |
No description provided.