redesign of landing page, updates roadmap
This commit is contained in:
@@ -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 — 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>
|
||||
|
||||
@@ -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>© 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>© 2026 RideAware. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Core JS -->
|
||||
|
||||
12
Program.cs
12
Program.cs
@@ -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
@@ -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
Reference in New Issue
Block a user