odellus's picture
can you build backends as well?
3e6fb53 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Backend Wizardry Dashboard</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>
<style>
.hero-gradient {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.code-block {
font-family: 'Courier New', Courier, monospace;
background-color: #1e293b;
}
</style>
</head>
<body class="bg-gray-50">
<!-- Vanta.js Background -->
<div id="vanta-bg" class="fixed inset-0 -z-10"></div>
<!-- Navigation -->
<nav class="bg-white/80 backdrop-blur-md shadow-sm fixed w-full">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<i data-feather="terminal" class="text-indigo-600 w-6 h-6"></i>
<span class="ml-2 text-xl font-bold text-indigo-600">BackendNinja</span>
</div>
<div class="hidden md:flex items-center space-x-8">
<a href="#" class="text-gray-700 hover:text-indigo-600 font-medium">Features</a>
<a href="#" class="text-gray-700 hover:text-indigo-600 font-medium">Documentation</a>
<a href="#" class="text-gray-700 hover:text-indigo-600 font-medium">Pricing</a>
<a href="#" class="text-gray-700 hover:text-indigo-600 font-medium">Contact</a>
<button class="bg-indigo-600 text-white px-4 py-2 rounded-md hover:bg-indigo-700 transition">Get Started</button>
</div>
<button class="md:hidden text-gray-500">
<i data-feather="menu"></i>
</button>
</div>
</div>
</nav>
<!-- Hero Section -->
<section class="hero-gradient text-white pt-32 pb-20">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="md:flex items-center">
<div class="md:w-1/2 mb-10 md:mb-0">
<h1 class="text-4xl md:text-5xl font-bold mb-6">Craft Scalable Backends <br>Like a Ninja Wizard</h1>
<p class="text-lg opacity-90 mb-8">Modular architecture, blazing APIs, and robust databases - all wrapped in a cloak of performance and security.</p>
<div class="flex space-x-4">
<button class="bg-white text-indigo-600 px-6 py-3 rounded-md font-medium hover:bg-gray-100 transition">Start Building</button>
<button class="border border-white text-white px-6 py-3 rounded-md font-medium hover:bg-white/10 transition">View Demo</button>
</div>
</div>
<div class="md:w-1/2 flex justify-center">
<div class="bg-white/10 backdrop-blur-md p-6 rounded-xl border border-white/20 w-full max-w-md">
<div class="flex items-center mb-4">
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
<div class="text-xs text-white/70 ml-auto">server.js</div>
</div>
<pre class="code-block text-sm p-4 rounded overflow-x-auto text-green-400">
<span class="text-purple-300">const</span> express = <span class="text-blue-300">require</span>(<span class="text-yellow-300">'express'</span>);
<span class="text-purple-300">const</span> app = <span class="text-blue-300">express</span>();
<span class="text-gray-500">// Modular route imports</span>
app.<span class="text-blue-300">use</span>(<span class="text-yellow-300">'/api/auth'</span>, <span class="text-blue-300">require</span>(<span class="text-yellow-300">'./routes/auth'</span>));
app.<span class="text-blue-300">use</span>(<span class="text-yellow-300">'/api/users'</span>, <span class="text-blue-300">require</span>(<span class="text-yellow-300">'./routes/users'</span>));
<span class="text-gray-500">// Database connection</span>
<span class="text-blue-300">connectDB</span>();
<span class="text-gray-500">// Security middleware</span>
app.<span class="text-blue-300">use</span>(<span class="text-blue-300">helmet</span>());
app.<span class="text-blue-300">use</span>(<span class="text-blue-300">cors</span>({ origin: process.<span class="text-blue-300">env</span>.<span class="text-blue-300">CORS_ORIGIN</span> }));
<span class="text-purple-300">const</span> PORT = process.<span class="text-blue-300">env</span>.<span class="text-blue-300">PORT</span> || <span class="text-green-400">5000</span>;
app.<span class="text-blue-300">listen</span>(PORT, () =>
<span class="text-blue-300">console</span>.<span class="text-blue-300">log</span>(<span class="text-yellow-300">`Server running in ${</span>process.<span class="text-blue-300">env</span>.<span class="text-blue-300">NODE_ENV</span><span class="text-yellow-300">} mode on port ${</span>PORT<span class="text-yellow-300">}`</span>)
);</pre>
</div>
</div>
</div>
</div>
</section>
<!-- Features Section -->
<section class="py-20 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16">
<h2 class="text-3xl font-bold text-gray-900 mb-4">Architecture That Scales</h2>
<p class="text-lg text-gray-600 max-w-2xl mx-auto">Built with modern best practices for performance and maintainability</p>
</div>
<div class="grid md:grid-cols-3 gap-8">
<!-- Feature 1 -->
<div class="bg-gray-50 p-8 rounded-xl border border-gray-200 card-hover transition">
<div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-6">
<i data-feather="layers" class="text-indigo-600 w-6 h-6"></i>
</div>
<h3 class="text-xl font-bold text-gray-900 mb-3">Modular Design</h3>
<p class="text-gray-600">Components are decoupled for easy maintenance and independent scaling. Each module is a self-contained unit.</p>
</div>
<!-- Feature 2 -->
<div class="bg-gray-50 p-8 rounded-xl border border-gray-200 card-hover transition">
<div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-6">
<i data-feather="shield" class="text-indigo-600 w-6 h-6"></i>
</div>
<h3 class="text-xl font-bold text-gray-900 mb-3">Security First</h3>
<p class="text-gray-600">Built-in authentication, authorization, rate limiting, and input validation out of the box.</p>
</div>
<!-- Feature 3 -->
<div class="bg-gray-50 p-8 rounded-xl border border-gray-200 card-hover transition">
<div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-6">
<i data-feather="activity" class="text-indigo-600 w-6 h-6"></i>
</div>
<h3 class="text-xl font-bold text-gray-900 mb-3">Performance Optimized</h3>
<p class="text-gray-600">Caching, efficient queries, and proper indexing ensure your backend can handle massive traffic spikes.</p>
</div>
</div>
</div>
</section>
<!-- Database Section -->
<section class="py-20 bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="md:flex items-center">
<div class="md:w-1/2 mb-10 md:mb-0">
<h2 class="text-3xl font-bold text-gray-900 mb-6">Robust Database Integration</h2>
<p class="text-lg text-gray-600 mb-8">Support for SQL and NoSQL databases with proper connection pooling, migrations, and ORM/ODM layers.</p>
<div class="flex flex-wrap gap-4">
<span class="bg-white px-4 py-2 rounded-full shadow-sm text-sm font-medium flex items-center">
<i data-feather="database" class="w-4 h-4 mr-2 text-indigo-600"></i> PostgreSQL
</span>
<span class="bg-white px-4 py-2 rounded-full shadow-sm text-sm font-medium flex items-center">
<i data-feather="database" class="w-4 h-4 mr-2 text-indigo-600"></i> MongoDB
</span>
<span class="bg-white px-4 py-2 rounded-full shadow-sm text-sm font-medium flex items-center">
<i data-feather="database" class="w-4 h-4 mr-2 text-indigo-600"></i> MySQL
</span>
<span class="bg-white px-4 py-2 rounded-full shadow-sm text-sm font-medium flex items-center">
<i data-feather="database" class="w-4 h-4 mr-2 text-indigo-600"></i> Redis
</span>
</div>
</div>
<div class="md:w-1/2 flex justify-center">
<div class="bg-white p-6 rounded-xl border border-gray-200 w-full max-w-md">
<div class="flex items-center mb-4">
<div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
<div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
<div class="text-xs text-gray-500 ml-auto">models/User.js</div>
</div>
<pre class="code-block text-sm p-4 rounded overflow-x-auto text-green-400">
<span class="text-purple-300">const</span> mongoose = <span class="text-blue-300">require</span>(<span class="text-yellow-300">'mongoose'</span>);
<span class="text-purple-300">const</span> bcrypt = <span class="text-blue-300">require</span>(<span class="text-yellow-300">'bcryptjs'</span>);
<span class="text-purple-300">const</span> UserSchema = <span class="text-blue-300">new</span> mongoose.<span class="text-blue-300">Schema</span>({
name: { type: <span class="text-green-400">String</span>, required: <span class="text-purple-300">true</span> },
email: { type: <span class="text-green-400">String</span>, required: <span class="text-purple-300">true</span>, unique: <span class="text-purple-300">true</span> },
password: { type: <span class="text-green-400">String</span>, required: <span class="text-purple-300">true</span> },
role: { type: <span class="text-green-400">String</span>, enum: [<span class="text-yellow-300">'user'</span>, <span class="text-yellow-300">'admin'</span>], default: <span class="text-yellow-300">'user'</span> }
}, { timestamps: <span class="text-purple-300">true</span> });
<span class="text-gray-500">// Password hashing middleware</span>
UserSchema.<span class="text-blue-300">pre</span>(<span class="text-yellow-300">'save'</span>, <span class="text-purple-300">async function</span>(next) {
<span class="text-purple-300">if</span> (!<span class="text-blue-300">this</span>.isModified(<span class="text-yellow-300">'password'</span>)) <span class="text-purple-300">return</span> next();
<span class="text-blue-300">this</span>.password = <span class="text-purple-300">await</span> bcrypt.<span class="text-blue-300">hash</span>(<span class="text-blue-300">this</span>.password, <span class="text-green-400">12</span>);
next();
});
<span class="text-purple-300">module</span>.<span class="text-blue-300">exports</span> = mongoose.<span class="text-blue-300">model</span>(<span class="text-yellow-300">'User'</span>, UserSchema);</pre>
</div>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="py-16 bg-indigo-700 text-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
<h2 class="text-3xl font-bold mb-6">Ready to Build Your Scalable Backend?</h2>
<p class="text-lg opacity-90 mb-8 max-w-2xl mx-auto">Get started with our battle-tested architecture and focus on what matters - your business logic.</p>
<button class="bg-white text-indigo-600 px-8 py-3 rounded-md font-medium hover:bg-gray-100 transition text-lg">Start Your Project Now</button>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-900 text-gray-400 py-12">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid md:grid-cols-4 gap-8">
<div>
<div class="flex items-center mb-4">
<i data-feather="terminal" class="text-indigo-500 w-6 h-6"></i>
<span class="ml-2 text-xl font-bold text-white">BackendNinja</span>
</div>
<p class="text-sm">Crafting scalable backends with wizard-like precision since 2023.</p>
</div>
<div>
<h3 class="text-white font-medium mb-4">Product</h3>
<ul class="space-y-2">
<li><a href="#" class="hover:text-white transition">Features</a></li>
<li><a href="#" class="hover:text-white transition">Pricing</a></li>
<li><a href="#" class="hover:text-white transition">Documentation</a></li>
</ul>
</div>
<div>
<h3 class="text-white font-medium mb-4">Resources</h3>
<ul class="space-y-2">
<li><a href="#" class="hover:text-white transition">Blog</a></li>
<li><a href="#" class="hover:text-white transition">Tutorials</a></li>
<li><a href="#" class="hover:text-white transition">API Reference</a></li>
</ul>
</div>
<div>
<h3 class="text-white font-medium mb-4">Connect</h3>
<ul class="space-y-2">
<li><a href="#" class="hover:text-white transition">Twitter</a></li>
<li><a href="#" class="hover:text-white transition">GitHub</a></li>
<li><a href="#" class="hover:text-white transition">Discord</a></li>
</ul>
</div>
</div>
<div class="border-t border-gray-800 mt-12 pt-8 text-sm text-center">
<p>© 2023 BackendNinja. All rights reserved.</p>
</div>
</div>
</footer>
<script>
// Initialize Vanta.js globe background
VANTA.GLOBE({
el: "#vanta-bg",
mouseControls: true,
touchControls: true,
gyroControls: false,
minHeight: 200.00,
minWidth: 200.00,
scale: 1.00,
scaleMobile: 1.00,
color: 0x5b6ee1,
backgroundColor: 0xf8fafc,
size: 0.8
});
// Initialize feather icons
feather.replace();
</script>
</body>
</html>