Katiyar48's picture
Build a full-stack Android app and admin panel named "सोशल Run Club" for a local run club in Kanpur.
a4996c3 verified
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RunSync Pro - Admin Dashboard</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
colors: {
primary: '#ff6b00',
dark: {
bg: '#0f1114',
surface: '#14171a',
text: '#e6e6e6'
}
},
fontFamily: {
'sans': ['Inter', 'Poppins', 'system-ui'],
'devanagari': ['Noto Sans Devanagari', 'Inter', 'sans-serif']
}
}
}
}
</script>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+Devanagari:wght@400;500;600&family=Poppins:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
.logo-devanagari {
font-family: 'Noto Sans Devanagari', sans-serif;
font-weight: 600;
}
.vanta-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
.glass-effect {
backdrop-filter: blur(16px) saturate(180%);
background-color: rgba(20, 23, 26, 0.75);
border: 1px solid rgba(255, 255, 255, 0.125);
}
</style>
</head>
<body class="bg-dark-bg text-dark-text font-sans min-h-screen">
<!-- Vanta.js Background -->
<div id="vanta-bg" class="vanta-bg"></div>
<!-- Navigation Sidebar -->
<nav class="fixed left-0 top-0 h-full w-64 glass-effect hidden lg:flex flex-col p-6 z-10">
<div class="flex items-center space-x-3 mb-8">
<img src="<<LOGO_IMAGE_URL>>" alt="सोशल Run Club" class="w-12 h-12 rounded-full bg-white p-1">
<span class="logo-devanagari text-xl font-semibold">सोशल Run Club</span>
</div>
<div class="space-y-2 flex-1">
<a href="#dashboard" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-surface transition-colors">
<i data-feather="bar-chart-2"></i>
<span>Dashboard</span>
</a>
<a href="#posts" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-surface transition-colors">
<i data-feather="file-text"></i>
<span>Posts</span>
</a>
<a href="#events" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-surface transition-colors">
<i data-feather="calendar"></i>
<span>Events</span>
</a>
<a href="#members" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-surface transition-colors">
<i data-feather="users"></i>
<span>Members</span>
</a>
<a href="#analytics" class="flex items-center space-x-3 p-3 rounded-lg bg-primary/20 text-primary rounded-lg">
<i data-feather="trending-up"></i>
<span>Analytics</span>
</a>
<a href="#moderation" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-surface transition-colors">
<i data-feather="shield"></i>
<span>Moderation</span>
</a>
</div>
<div class="pt-6 border-t border-dark-surface">
<div class="flex items-center space-x-3 p-3">
<div class="w-10 h-10 bg-primary rounded-full flex items-center justify-center">
<span class="font-semibold">A</span>
</div>
<div class="flex-1">
<p class="font-medium">Admin User</p>
<p class="text-sm text-gray-400">[email protected]</p>
</div>
</div>
</div>
</nav>
<!-- Mobile Header -->
<header class="lg:hidden glass-effect p-4 flex items-center justify-between sticky top-0 z-20">
<div class="flex items-center space-x-3">
<img src="<<LOGO_IMAGE_URL>>" alt="सोशल Run Club" class="w-10 h-10 rounded-full bg-white p-1">
<span class="logo-devanagari text-lg font-semibold">सोशल Run Club</span>
</div>
<button id="mobile-menu-btn" class="p-2">
<i data-feather="menu"></i>
</button>
</header>
<!-- Main Content -->
<main class="lg:ml-64 p-6">
<!-- Analytics Dashboard -->
<section id="analytics" class="max-w-7xl mx-auto">
<div class="flex flex-col lg:flex-row lg:items-center lg:justify-between mb-8">
<div>
<h1 class="text-3xl font-bold mb-2">Analytics Dashboard</h1>
<p class="text-gray-400">Track engagement, members, and event performance</p>
</div>
<div class="flex space-x-3 mt-4 lg:mt-0">
<button class="px-4 py-2 bg-dark-surface rounded-lg flex items-center space-x-2">
<i data-feather="calendar"></i>
<span>Last 7 days</span>
</button>
<button class="px-4 py-2 bg-primary text-white rounded-lg flex items-center space-x-2">
<i data-feather="download"></i>
<span>Export CSV</span>
</button>
</div>
</div>
<!-- Key Metrics Grid -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<div class="bg-dark-surface rounded-xl p-6 glass-effect">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-semibold">Total Members</h1>
<i data-feather="users" class="text-primary"></i>
</div>
<p class="text-3xl font-bold">1,247</p>
<p class="text-green-400 text-sm mt-2">↑ 12% from last week</p>
</div>
<div class="bg-dark-surface rounded-xl p-6 glass-effect">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-semibold">Weekly Active</h1>
<i data-feather="activity" class="text-primary"></i>
</div>
<p class="text-3xl font-bold">893</p>
<p class="text-green-400 text-sm mt-2">↑ 8% from last week</p>
</div>
<div class="bg-dark-surface rounded-xl p-6 glass-effect">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-semibold">Engagement Rate</h1>
<i data-feather="trending-up" class="text-primary"></i>
</div>
<p class="text-3xl font-bold">68%</p>
<p class="text-green-400 text-sm mt-2">↑ 5% from last week</p>
</div>
<div class="bg-dark-surface rounded-xl p-6 glass-effect">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-semibold">Events This Week</h1>
<i data-feather="calendar" class="text-primary"></i>
</div>
<p class="text-3xl font-bold">7</p>
<p class="text-gray-400 text-sm mt-2">3 upcoming, 4 completed</p>
</div>
</div>
<!-- Charts and Detailed Analytics -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">
<!-- Activity Heatmap -->
<div class="bg-dark-surface rounded-xl p-6 glass-effect">
<h3 class="text-xl font-semibold mb-6">Activity Heatmap</h3>
<div class="grid grid-cols-7 gap-1">
<!-- Generate heatmap cells -->
<div class="h-8 bg-green-900 rounded"></div>
<div class="h-8 bg-green-700 rounded"></div>
<div class="h-8 bg-green-500 rounded"></div>
<div class="h-8 bg-green-300 rounded"></div>
<div class="h-8 bg-green-100 rounded"></div>
<div class="h-8 bg-gray-600 rounded"></div>
<div class="h-8 bg-gray-800 rounded"></div>
</div>
<div class="flex justify-between text-sm text-gray-400 mt-2">
<span>Mon</span>
<span>Tue</span>
<span>Wed</span>
<span>Thu</span>
<span>Fri</span>
<span>Sat</span>
<span>Sun</span>
</div>
</div>
<!-- Top Members Leaderboard -->
<div class="bg-dark-surface rounded-xl p-6 glass-effect">
<h3 class="text-xl font-semibold mb-6">Top Members Leaderboard</h3>
<div class="space-y-4">
<div class="flex items-center justify-between p-3 bg-dark-bg/50 rounded-lg">
<div class="flex items-center space-x-3">
<div class="w-8 h-8 bg-primary rounded-full flex items-center justify-center">
<span class="text-sm font-semibold">1</span>
</div>
<div>
<p class="font-medium">Rahul Sharma</p>
<p class="text-sm text-gray-400">@rahul_run</p>
</div>
</div>
<span class="font-semibold text-primary">1,248 pts</span>
</div>
<div class="flex items-center justify-between p-3 bg-dark-bg/50 rounded-lg">
<div class="flex items-center space-x-3">
<div class="w-8 h-8 bg-gray-600 rounded-full flex items-center justify-center">
<span class="text-sm font-semibold">2</span>
</div>
<div>
<p class="font-medium">Priya Singh</p>
<p class="text-sm text-gray-400">@priya_runner</p>
</div>
</div>
<span class="font-semibold text-primary">1,156 pts</span>
</div>
<div class="flex items-center justify-between p-3 bg-dark-bg/50 rounded-lg">
<div class="flex items-center space-x-3">
<div class="w-8 h-8 bg-yellow-600 rounded-full flex items-center justify-center">
<span class="text-sm font-semibold">3</span>
</div>
<div>
<p class="font-medium">Amit Kumar</p>
<p class="text-sm text-gray-400">@amit_speed</p>
</div>
</div>
<span class="font-semibold text-primary">987 pts</span>
</div>
</div>
</div>
</div>
<!-- Engagement Metrics -->
<div class="bg-dark-surface rounded-xl p-6 glass-effect mb-8">
<h3 class="text-xl font-semibold mb-6">Post Engagement Analytics</h3>
<div class="overflow-x-auto">
<table class="w-full">
<thead>
<tr class="border-b border-dark-bg">
<th class="text-left pb-3">Post Title</th>
<th class="text-right pb-3">Views</th>
<th class="text-right pb-3">Likes</th>
<th class="text-right pb-3">Comments</th>
<th class="text-right pb-3">Shares</th>
<th class="text-right pb-3">Engagement Rate</th>
</tr>
</thead>
<tbody class="divide-y divide-dark-bg">
<tr>
<td class="py-3">Weekend Marathon Training</td>
<td class="text-right py-3">2,458</td>
<td class="text-right py-3">189</td>
<td class="text-right py-3">45</td>
<td class="text-right py-3">32</td>
<td class="text-right py-3 text-primary">10.8%</td>
</tr>
<tr>
<td class="py-3">New Running Routes</td>
<td class="text-right py-3">1,893</td>
<td class="text-right py-3">156</td>
<td class="text-right py-3">38</td>
<td class="text-right py-3">28</td>
<td class="text-right py-3 text-primary">11.7%</td>
</tr>
<tr>
<td class="py-3">Health & Nutrition Tips</td>
<td class="text-right py-3">1,567</td>
<td class="text-right py-3">134</td>
<td class="text-right py-3">29</td>
<td class="text-right py-3">19</td>
<td class="text-right py-3 text-primary">11.6%</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</main>
<!-- Mobile Menu -->
<div id="mobile-menu" class="fixed inset-0 bg-black/50 z-30 hidden lg:hidden">
<div class="absolute right-0 top-0 h-full w-64 bg-dark-surface p-6 transform translate-x-full transition-transform">
<div class="flex justify-between items-center mb-8">
<span class="logo-devanagari text-xl font-semibold">सोशल Run Club</span>
<button id="close-mobile-menu" class="p-2">
<i data-feather="x"></i>
</button>
</div>
<div class="space-y-2">
<a href="#dashboard" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-bg transition-colors">
<i data-feather="bar-chart-2"></i>
<span>Dashboard</span>
</a>
<a href="#posts" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-bg transition-colors">
<i data-feather="file-text"></i>
<span>Posts</span>
</a>
<a href="#events" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-bg transition-colors">
<i data-feather="calendar"></i>
<span>Events</span>
</a>
<a href="#members" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-dark-bg transition-colors">
<i data-feather="users"></i>
<span>Members</span>
</a>
<a href="#analytics" class="flex items-center space-x-3 p-3 rounded-lg bg-primary/20 text-primary rounded-lg">
<i data-feather="trending-up"></i>
<span>Analytics</span>
</a>
</div>
</div>
</div>
<script>
// Initialize Vanta.js
VANTA.GLOBE({
el: "#vanta-bg",
mouseControls: true,
touchControls: true,
gyroControls: false,
minHeight: 200.00,
minWidth: 200.00,
scale: 1.00,
scaleMobile: 1.00,
color: '#ff6b00',
backgroundColor: '#0f1114',
size: 0.8
</body>
</html>