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>
@RenderBody()
<main>
@RenderBody()
</main>
<footer class="footer">
<p>&copy; 2026 RideAware. All rights reserved.</p>
<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,11 +48,19 @@ 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>();
await db.Database.EnsureCreatedAsync();
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

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">
<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.
</p>
<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. 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