feat: strava integration with encryption and enhanced plugin system - #24
Open
FrancescoRoveda wants to merge 1 commit into
Open
FrancescoRoveda wants to merge 1 commit into
FrancescoRoveda wants to merge 1 commit into
Conversation
Contributor
|
@FrancescoRoveda is attempting to deploy a commit to the qutibah's projects Team on Vercel. A member of the Team first needs to authorize it. |
Ti-03
self-requested a review
January 22, 2026 15:03
Author
|
Hey bro love the project! Can you please merge this functionality? I think it would be very cool! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a full Strava integration, allowing users to visualize their physical activities directly on their Year View wallpaper. It extends the plugin system with new primitives for modifying daily cell colors and rendering custom legends, and includes industry-standard encryption for securing user tokens at rest.
Key Changes
Strava Integration & Security
Strava Plugin
strava-plugin.tsto the core plugin registry.Typesmode: Distinct colors for Runs, Rides, Swims, and Other activities.Simplemode: Single color for any active day.Rendering Engine Updates (year-view-enhanced.tsx)
day-color-modifier: Allows plugins to override the color of specific calendar days.legend-data: Standardized way for plugins to inject data into the wallpaper footer.Core Infrastructure
PluginExecutionContextto include user settings and extendedPluginRenderElementto support new primitives.STRAVA_ENCRYPTION_KEYrequirement for secure token handling.Setup Instructions
To enable the Strava integration, you need to configure the following environment variables:
Create a Strava Application:
localhost(for dev) or your production domain (https://reminders.vercel.app).Generate Encryption Key:
Run this command to generate a secure 32-byte key:
openssl rand -hex 16
Configure Environment Variables:
Add these to your .env.local and deployment secrets:
# Strava API Credentials
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
# Security
STRAVA_ENCRYPTION_KEY=your_generated_32_char_key
# App URL
NEXT_PUBLIC_BASE_URL=your_production_url
This is my first time contributing to a project on github be kind :)