redesign of landing page, updates roadmap

This commit is contained in:
Blake Ridgway
2026-05-17 21:18:09 -05:00
parent 6ae71b0216
commit 997fb88b73
6 changed files with 1686 additions and 4001 deletions

View File

@@ -12,11 +12,11 @@
Development Build Available
</div>
<h1>Elevate Your<br /><span class="gradient-text">Cycling Journey</span></h1>
<h1>Train Smarter.<br />Ride <span class="gradient-text">Further.</span></h1>
<p class="subtitle">
The smart training platform for cyclists who demand excellence.
AI-powered plans, real-time analytics, and community-driven motivation.
The intelligent training platform built for cyclists who refuse to settle.
AI-powered training plans, real-time performance analytics, and a community that pushes you further &mdash; all in one place.
</p>
<div class="hero-cta">
@@ -27,14 +27,14 @@
placeholder="Enter your email"
required
/>
<button class="btn-primary" id="notify-button">Subscribe</button>
<button class="btn-primary" id="notify-button">Get Early Access</button>
</div>
<p class="hero-note">Join the newsletter for feature updates and early access.</p>
<p class="hero-note">Join 200+ early adopters. Get feature updates and early access.</p>
<a href="https://dev.rideaware.org" class="action-btn secondary" target="_blank" style="margin-top: 1rem;">
<i class="fas fa-rocket"></i>
Access Development Build
Try the Development Build
</a>
</div>
</section>
@@ -42,19 +42,19 @@
<!-- Social Proof -->
<section class="proof-bar">
<div class="container">
<div class="proof-item">
<div class="proof-item fade-in">
<div class="number">Q4 2026</div>
<div class="label">Launch Target</div>
</div>
<div class="proof-item">
<div class="proof-item fade-in">
<div class="number">6+</div>
<div class="label">Core Features</div>
</div>
<div class="proof-item">
<div class="proof-item fade-in">
<div class="number">AI</div>
<div class="label">Powered Training</div>
</div>
<div class="proof-item">
<div class="proof-item fade-in">
<div class="number">100%</div>
<div class="label">Data Privacy</div>
</div>

View File

@@ -39,7 +39,7 @@
@await RenderSectionAsync("Head", required: false)
</head>
<body>
<nav class="navbar">
<nav class="navbar" role="navigation" aria-label="Main navigation">
<div class="nav-container">
<a href="/" class="logo" aria-label="RideAware home">
<img
@@ -47,7 +47,7 @@
alt="RideAware"
class="logo-img"
width="120"
height="24"
height="28"
decoding="async"
fetchpriority="high"
/>
@@ -55,6 +55,8 @@
<ul class="nav-links" id="primary-nav">
<li><a href="/#features">Features</a></li>
<li><a href="/#how-it-works">How It Works</a></li>
<li><a href="/#roadmap">Roadmap</a></li>
<li><a href="/newsletters">Newsletters</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
@@ -74,10 +76,55 @@
</div>
</nav>
<main>
@RenderBody()
</main>
<footer class="footer">
<div class="container">
<div class="footer-grid">
<div class="footer-col">
<img
src="~/assets/logo.png"
alt="RideAware"
class="footer-logo"
width="120"
height="28"
decoding="async"
/>
<p class="footer-tagline">
The smart training platform for cyclists who demand excellence.
</p>
</div>
<div class="footer-col">
<h4 class="footer-heading">Product</h4>
<ul class="footer-links">
<li><a href="/#features">Features</a></li>
<li><a href="/#roadmap">Roadmap</a></li>
<li><a href="https://dev.rideaware.org">Dev Build</a></li>
</ul>
</div>
<div class="footer-col">
<h4 class="footer-heading">Company</h4>
<ul class="footer-links">
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
<li><a href="/newsletters">Newsletters</a></li>
</ul>
</div>
<div class="footer-col">
<h4 class="footer-heading">Connect</h4>
<div class="footer-social">
<a href="#" aria-label="GitHub" class="social-link"><i class="fab fa-github"></i></a>
<a href="#" aria-label="Twitter" class="social-link"><i class="fab fa-twitter"></i></a>
<a href="#" aria-label="Discord" class="social-link"><i class="fab fa-discord"></i></a>
</div>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2026 RideAware. All rights reserved.</p>
</div>
</div>
</footer>
<!-- Core JS -->

View File

@@ -48,12 +48,20 @@ builder.Services.AddRazorPages();
var app = builder.Build();
// Ensure database tables exist
// Ensure database tables exist (gracefully handle missing DB for development)
using (var scope = app.Services.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService<AppDbContext>();
try
{
await db.Database.EnsureCreatedAsync();
}
catch (Exception ex)
{
Console.WriteLine($"Warning: Could not connect to database: {ex.Message}");
Console.WriteLine("The app will start but database-dependent features will be unavailable.");
}
}
// Middleware pipeline
app.UseMiddleware<SecurityMiddleware>();

File diff suppressed because it is too large Load Diff

View File

@@ -222,62 +222,181 @@
</div>
</section>
<!-- Development Status Section -->
<section class="development-status">
<!-- Roadmap Section -->
<section class="development-status" id="roadmap">
<div class="status-container">
<div class="section-header">
<div class="section-label">
<span class="pulse-dot"></span>
Development Roadmap
</div>
<h2>Current Development Status</h2>
<p class="status-intro">
RideAware is actively being built. This development build lets you experience the platform early
and help us refine it. Some features are still in progress.
and help us refine it. Here's where we stand across all feature areas.
</p>
</div>
<div class="status-grid">
<!-- PHASE 1: Authentication & User Management ✅ -->
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>User Authentication</h4>
<p>Sign up, login, and user profiles fully functional</p>
<p>Signup, login, JWT tokens, password recovery, user profiles with bio, zones, FTP & weight</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Equipment Management</h4>
<p>Add and manage your bikes and cycling gear</p>
<p>Bike/gear CRUD, auto mileage tracking, service intervals & reminders</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Training Zones</h4>
<p>HR and power zone calculations</p>
<p>7-zone power model (Recovery → Neuromuscular) with color-coded visualization</p>
</div>
<div class="status-item in-progress">
<span class="status-badge">🔨 In Progress</span>
<h4>Workout Planning</h4>
<p>Structured workout builder with interval support</p>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Workout Planning & Builder</h4>
<p>Structured interval builder (warmup/main/cooldown), %FTP targets, cadence, repeats, live chart preview</p>
</div>
<div class="status-item in-progress">
<span class="status-badge">🔨 In Progress</span>
<!-- PHASE 2: Templates & Export ✅ -->
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Workout Templates Library</h4>
<p>11 built-in templates (Recovery → Ramp Test) with category browsing & instant scheduling</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Workout Export</h4>
<p>Export to .zwo (Zwift) and FIT (Garmin-compatible) formats</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Activity Import</h4>
<p>Import FIT/TCX/GPX files with metric extraction (power, HR, cadence, elevation)</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Device Integrations</h4>
<p>Garmin Connect (OAuth2 PKCE), Wahoo Cloud API, Intervals.icu — push workouts & sync activities</p>
</div>
<!-- PHASE 3: Analytics & Goals ✅ -->
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Performance Analytics</h4>
<p>Detailed performance tracking and metrics</p>
<p>Summary, weekly, monthly stats, personal bests, TSS/IF calculation, training load (CTL/ATL/TSB)</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Goal Setting & Tracking</h4>
<p>SMART goals (distance, frequency, power, weight, custom) with real-time progress tracking</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Race/Event Planner</h4>
<p>Target events with taper builder, distance, priority, and gear checklist</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Nutrition Planning</h4>
<p>BMR/TDEE calculation, macro targets, weekly meal planning with workout calorie adjustment</p>
</div>
<!-- PHASE 4: AI & Advanced ✅ -->
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>AI-Powered Training Plans</h4>
<p>DeepSeek integration generates personalized plans based on goals, fitness level, events & nutrition context</p>
</div>
<div class="status-item ready">
<span class="status-badge">✓ Live</span>
<h4>Workout Library</h4>
<p>Browse, search, filter workouts; favorites, star ratings, custom workout creation</p>
</div>
<div class="status-item in-progress">
<span class="status-badge">🔨 In Progress</span>
<h4>OAuth Login</h4>
<p>Google & Apple sign-in — Garmin & Wahoo OAuth complete, Google/Apple/Strava pending</p>
</div>
<div class="status-item in-progress">
<span class="status-badge">🔨 In Progress</span>
<h4>Tags & Notes System</h4>
<p>RPE & Notes fields implemented; mood, conditions, injuries & tag system pending</p>
</div>
<!-- PLANNED -->
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Platform Sync</h4>
<p>Strava activity sync, TrainingPeaks calendar sync, COROS / Apple Health / Google Fit</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Device Integration</h4>
<p>Sync with wearables and cycling computers</p>
<h4>Coaching & Athlete Management</h4>
<p>Coach portal, athlete assignments, plan reviews, messaging & comments</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Community Features</h4>
<p>Social sharing and competitive leaderboards</p>
<h4>Virtual Training</h4>
<p>Zwift/Rouvy/RGT integration, video routes, real-time ride simulation</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Advanced Training</h4>
<p>AI-powered coaching and personalized plans</p>
<h4>Community & Social</h4>
<p>Social sharing, community forum, leaderboards, clubs/groups, challenges & streaks</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Gamification</h4>
<p>Achievements, badges, milestones, rewards store, partner discounts</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Notifications</h4>
<p>Email/push/SMS reminders, weekly digests, real-time overtraining & weather alerts</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Mobile & PWA</h4>
<p>Offline mode, native app shell, background sync, wearable bridge</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Admin & Billing</h4>
<p>Admin console, Stripe subscriptions (Free/Pro/Coach), feature flags, audit logs</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Content Library</h4>
<p>Exercise library (strength/mobility), knowledge base, route library with GPX planner</p>
</div>
<div class="status-item planned">
<span class="status-badge">📋 Planned</span>
<h4>Accessibility & i18n</h4>
<p>WCAG 2.2 AA compliance, localization framework, imperial/metric units, color-blind safe palettes</p>
</div>
</div>

File diff suppressed because it is too large Load Diff