Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>E-Commerce Platform - Enzo Esteves</title> | |
<link rel="icon" type="image/x-icon" href="/static/favicon.ico"> | |
<script src="https://cdn.tailwindcss.com"></script> | |
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet"> | |
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script> | |
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> | |
<link rel="preconnect" href="https://fonts.googleapis.com"> | |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet"> | |
<style> | |
body { | |
font-family: 'Inter', sans-serif; | |
} | |
h1, h2, h3, h4, h5, h6 { | |
font-family: 'Space Grotesk', sans-serif; | |
} | |
.project-hero { | |
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
} | |
.tech-badge { | |
transition: all 0.3s ease; | |
} | |
.tech-badge:hover { | |
transform: translateY(-2px); | |
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); | |
} | |
.feature-card { | |
transition: all 0.3s ease; | |
} | |
.feature-card:hover { | |
transform: translateY(-4px); | |
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1); | |
} | |
.back-button { | |
transition: all 0.3s ease; | |
} | |
.back-button:hover { | |
transform: translateX(-4px); | |
} | |
</style> | |
</head> | |
<body class="bg-neutral-50 overflow-x-hidden"> | |
<!-- Navigation --> | |
<nav class="fixed top-0 w-full bg-white/90 backdrop-blur-md z-50 border-b border-neutral-200"> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8"> | |
<div class="flex justify-between items-center h-16"> | |
<a href="index.html" class="font-bold text-xl text-neutral-900">EE</a> | |
<a href="index.html#projects" class="flex items-center text-neutral-700 hover:text-blue-600 back-button"> | |
<i data-feather="arrow-left" class="w-4 h-4 mr-2"></i> | |
Back to Projects | |
</a> | |
</div> | |
</div> | |
</nav> | |
<!-- Project Hero --> | |
<section class="project-hero min-h-[60vh] flex items-center relative overflow-hidden"> | |
<div class="absolute inset-0 bg-black/20"></div> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8 relative z-10"> | |
<div class="text-center text-white" data-aos="fade-up"> | |
<h1 class="text-5xl lg:text-6xl font-bold mb-6"> | |
E-Commerce Platform | |
</h1> | |
<p class="text-xl lg:text-2xl mb-8 max-w-3xl mx-auto"> | |
A modern, scalable e-commerce solution built with cutting-edge technologies | |
</p> | |
<div class="flex flex-wrap justify-center gap-4"> | |
<span class="px-4 py-2 bg-white/20 backdrop-blur-sm rounded-full text-sm">React</span> | |
<span class="px-4 py-2 bg-white/20 backdrop-blur-sm rounded-full text-sm">Node.js</span> | |
<span class="px-4 py-2 bg-white/20 backdrop-blur-sm rounded-full text-sm">MongoDB</span> | |
<span class="px-4 py-2 bg-white/20 backdrop-blur-sm rounded-full text-sm">Stripe API</span> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Project Overview --> | |
<section class="py-20 lg:py-32 bg-white"> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8"> | |
<div class="grid lg:grid-cols-2 gap-16 items-center"> | |
<div data-aos="fade-right"> | |
<h2 class="text-4xl font-bold text-neutral-900 mb-6"> | |
Project Overview | |
</h2> | |
<p class="text-lg text-neutral-600 mb-6 leading-relaxed"> | |
This comprehensive e-commerce platform represents a modern approach to online retail. Built with a microservices architecture, | |
it handles thousands of concurrent users while maintaining sub-second response times. | |
</p> | |
<p class="text-lg text-neutral-600 mb-8 leading-relaxed"> | |
The platform features a responsive design that works seamlessly across all devices, real-time inventory management, | |
secure payment processing, and an intuitive admin dashboard for managing products, orders, and customers. | |
</p> | |
<div class="flex space-x-4"> | |
<a href="#" class="bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 transition-colors font-medium"> | |
Live Demo | |
</a> | |
<a href="#" class="border-2 border-blue-600 text-blue-600 px-6 py-3 rounded-lg hover:bg-blue-600 hover:text-white transition-all font-medium"> | |
View Code | |
</a> | |
</div> | |
</div> | |
<div data-aos="fade-left"> | |
<div class="bg-gradient-to-br from-blue-50 to-purple-50 p-8 rounded-2xl"> | |
<img src="http://static.photos/technology/640x360" alt="E-Commerce Dashboard" class="w-full rounded-lg shadow-xl"> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Key Features --> | |
<section class="py-20 lg:py-32 bg-neutral-50"> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8"> | |
<div class="text-center mb-16" data-aos="fade-up"> | |
<h2 class="text-4xl font-bold text-neutral-900 mb-4"> | |
Key Features | |
</h2> | |
<p class="text-xl text-neutral-600 max-w-2xl mx-auto"> | |
Built with performance, scalability, and user experience in mind | |
</p> | |
</div> | |
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8"> | |
<div class="feature-card bg-white p-6 rounded-xl shadow-lg" data-aos="zoom-in" data-aos-delay="100"> | |
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4"> | |
<i data-feather="shopping-cart" class="w-6 h-6 text-blue-600"></i> | |
</div> | |
<h3 class="text-xl font-semibold text-neutral-900 mb-3">Shopping Cart</h3> | |
<p class="text-neutral-600">Advanced cart functionality with persistent storage, quantity management, and guest checkout options.</p> | |
</div> | |
<div class="feature-card bg-white p-6 rounded-xl shadow-lg" data-aos="zoom-in" data-aos-delay="200"> | |
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center mb-4"> | |
<i data-feather="credit-card" class="w-6 h-6 text-green-600"></i> | |
</div> | |
<h3 class="text-xl font-semibold text-neutral-900 mb-3">Payment Processing</h3> | |
<p class="text-neutral-600">Secure payment integration with Stripe, supporting multiple payment methods and currencies.</p> | |
</div> | |
<div class="feature-card bg-white p-6 rounded-xl shadow-lg" data-aos="zoom-in" data-aos-delay="300"> | |
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center mb-4"> | |
<i data-feather="bar-chart" class="w-6 h-6 text-purple-600"></i> | |
</div> | |
<h3 class="text-xl font-semibold text-neutral-900 mb-3">Real-time Analytics</h3> | |
<p class="text-neutral-600">Live dashboard showing sales metrics, user behavior, and inventory status with beautiful visualizations.</p> | |
</div> | |
<div class="feature-card bg-white p-6 rounded-xl shadow-lg" data-aos="zoom-in" data-aos-delay="400"> | |
<div class="w-12 h-12 bg-orange-100 rounded-lg flex items-center justify-center mb-4"> | |
<i data-feather="search" class="w-6 h-6 text-orange-600"></i> | |
</div> | |
<h3 class="text-xl font-semibold text-neutral-900 mb-3">Smart Search</h3> | |
<p class="text-neutral-600">AI-powered search with filters, sorting, and personalized recommendations based on user behavior.</p> | |
</div> | |
<div class="feature-card bg-white p-6 rounded-xl shadow-lg" data-aos="zoom-in" data-aos-delay="500"> | |
<div class="w-12 h-12 bg-red-100 rounded-lg flex items-center justify-center mb-4"> | |
<i data-feather="smartphone" class="w-6 h-6 text-red-600"></i> | |
</div> | |
<h3 class="text-xl font-semibold text-neutral-900 mb-3">Mobile Responsive</h3> | |
<p class="text-neutral-600">Perfectly optimized for mobile devices with touch-friendly interfaces and offline capabilities.</p> | |
</div> | |
<div class="feature-card bg-white p-6 rounded-xl shadow-lg" data-aos="zoom-in" data-aos-delay="600"> | |
<div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4"> | |
<i data-feather="shield" class="w-6 h-6 text-indigo-600"></i> | |
</div> | |
<h3 class="text-xl font-semibold text-neutral-900 mb-3">Security First</h3> | |
<p class="text-neutral-600">JWT authentication, encrypted data transmission, and protection against common vulnerabilities.</p> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Technical Architecture --> | |
<section class="py-20 lg:py-32 bg-white"> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8"> | |
<div class="text-center mb-16" data-aos="fade-up"> | |
<h2 class="text-4xl font-bold text-neutral-900 mb-4"> | |
Technical Architecture | |
</h2> | |
<p class="text-xl text-neutral-600 max-w-2xl mx-auto"> | |
Built with modern technologies and best practices | |
</p> | |
</div> | |
<div class="grid md:grid-cols-2 gap-8 mb-16"> | |
<div data-aos="fade-right"> | |
<h3 class="text-2xl font-semibold text-neutral-900 mb-6">Frontend Technologies</h3> | |
<div class="space-y-3"> | |
<span class="tech-badge inline-block px-4 py-2 bg-blue-100 text-blue-700 rounded-full">React 18</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-cyan-100 text-cyan-700 rounded-full">TypeScript</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-purple-100 text-purple-700 rounded-full">Redux Toolkit</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-pink-100 text-pink-700 rounded-full">Tailwind CSS</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-orange-100 text-orange-700 rounded-full">Vite</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-green-100 text-green-700 rounded-full">Axios</span> | |
</div> | |
</div> | |
<div data-aos="fade-left"> | |
<h3 class="text-2xl font-semibold text-neutral-900 mb-6">Backend Technologies</h3> | |
<div class="space-y-3"> | |
<span class="tech-badge inline-block px-4 py-2 bg-green-100 text-green-700 rounded-full">Node.js</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-yellow-100 text-yellow-700 rounded-full">Express.js</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-blue-100 text-blue-700 rounded-full">MongoDB</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-purple-100 text-purple-700 rounded-full">Redis</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-red-100 text-red-700 rounded-full">JWT</span> | |
<span class="tech-badge inline-block px-4 py-2 bg-indigo-100 text-indigo-700 rounded-full">Socket.io</span> | |
</div> | |
</div> | |
</div> | |
<div class="bg-gradient-to-br from-blue-50 to-purple-50 p-8 rounded-2xl" data-aos="zoom-in"> | |
<h3 class="text-2xl font-semibold text-neutral-900 mb-4">Architecture Highlights</h3> | |
<ul class="space-y-3 text-neutral-700"> | |
<li class="flex items-start"> | |
<i data-feather="check-circle" class="w-5 h-5 text-green-600 mr-3 mt-1 flex-shrink-0"></i> | |
<span>Microservices architecture with Docker containerization for easy scaling and deployment</span> | |
</li> | |
<li class="flex items-start"> | |
<i data-feather="check-circle" class="w-5 h-5 text-green-600 mr-3 mt-1 flex-shrink-0"></i> | |
<span>Load balancing with Nginx and horizontal scaling capabilities</span> | |
</li> | |
<li class="flex items-start"> | |
<i data-feather="check-circle" class="w-5 h-5 text-green-600 mr-3 mt-1 flex-shrink-0"></i> | |
<span>Real-time inventory updates using WebSocket connections</span> | |
</li> | |
<li class="flex items-start"> | |
<i data-feather="check-circle" class="w-5 h-5 text-green-600 mr-3 mt-1 flex-shrink-0"></i> | |
<span>Comprehensive API documentation with Swagger/OpenAPI</span> | |
</li> | |
</ul> | |
</div> | |
</div> | |
</section> | |
<!-- Challenges & Solutions --> | |
<section class="py-20 lg:py-32 bg-neutral-50"> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8"> | |
<div class="text-center mb-16" data-aos="fade-up"> | |
<h2 class="text-4xl font-bold text-neutral-900 mb-4"> | |
Challenges & Solutions | |
</h2> | |
<p class="text-xl text-neutral-600 max-w-2xl mx-auto"> | |
Overcoming technical hurdles to deliver exceptional performance | |
</p> | |
</div> | |
<div class="space-y-12"> | |
<div class="grid lg:grid-cols-2 gap-8 items-center" data-aos="fade-right"> | |
<div> | |
<h3 class="text-2xl font-semibold text-neutral-900 mb-4">Challenge: Real-time Inventory Management</h3> | |
<p class="text-neutral-600 mb-4"> | |
Managing inventory across multiple warehouses while preventing overselling during high-traffic periods. | |
</p> | |
<div class="bg-green-50 border border-green-200 rounded-lg p-4"> | |
<p class="text-green-800 font-medium">Solution:</p> | |
<p class="text-green-700">Implemented Redis-based distributed locking and event sourcing for accurate real-time inventory tracking.</p> | |
</div> | |
</div> | |
<div class="bg-white p-6 rounded-xl shadow-lg"> | |
<img src="http://static.photos/technology/640x360" alt="Inventory Management" class="w-full rounded-lg"> | |
</div> | |
</div> | |
<div class="grid lg:grid-cols-2 gap-8 items-center" data-aos="fade-left"> | |
<div class="lg:order-2"> | |
<h3 class="text-2xl font-semibold text-neutral-900 mb-4">Challenge: Payment Security</h3> | |
<p class="text-neutral-600 mb-4"> | |
Ensuring PCI compliance while providing a smooth checkout experience for customers worldwide. | |
</p> | |
<div class="bg-blue-50 border border-blue-200 rounded-lg p-4"> | |
<p class="text-blue-800 font-medium">Solution:</p> | |
<p class="text-blue-700">Integrated Stripe Elements for secure payment processing and implemented tokenization for sensitive data.</p> | |
</div> | |
</div> | |
<div class="lg:order-1 bg-white p-6 rounded-xl shadow-lg"> | |
<img src="http://static.photos/business/640x360" alt="Payment Security" class="w-full rounded-lg"> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Results & Metrics --> | |
<section class="py-20 lg:py-32 bg-white"> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8"> | |
<div class="text-center mb-16" data-aos="fade-up"> | |
<h2 class="text-4xl font-bold text-neutral-900 mb-4"> | |
Results & Metrics | |
</h2> | |
<p class="text-xl text-neutral-600 max-w-2xl mx-auto"> | |
Measurable impact and performance improvements | |
</p> | |
</div> | |
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-8"> | |
<div class="text-center" data-aos="zoom-in" data-aos-delay="100"> | |
<div class="text-4xl font-bold text-blue-600 mb-2">2.3s</div> | |
<p class="text-neutral-600">Average Page Load Time</p> | |
</div> | |
<div class="text-center" data-aos="zoom-in" data-aos-delay="200"> | |
<div class="text-4xl font-bold text-green-600 mb-2">99.9%</div> | |
<p class="text-neutral-600">Uptime SLA</p> | |
</div> | |
<div class="text-center" data-aos="zoom-in" data-aos-delay="300"> | |
<div class="text-4xl font-bold text-purple-600 mb-2">40%</div> | |
<p class="text-neutral-600">Conversion Rate Increase</p> | |
</div> | |
<div class="text-center" data-aos="zoom-in" data-aos-delay="400"> | |
<div class="text-4xl font-bold text-orange-600 mb-2">10k+</div> | |
<p class="text-neutral-600">Daily Active Users</p> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Footer --> | |
<footer class="bg-neutral-900 text-white py-12"> | |
<div class="max-w-7xl mx-auto px-6 lg:px-8"> | |
<div class="text-center"> | |
<p class="text-neutral-400"> | |
© 2024 Enzo Esteves. All rights reserved. Built with passion and clean code. | |
</p> | |
</div> | |
</div> | |
</footer> | |
<script> | |
// Initialize AOS | |
AOS.init({ | |
duration: 800, | |
easing: 'ease-in-out', | |
once: true | |
}); | |
// Replace feather icons | |
feather.replace(); | |
</script> | |
</body> | |
</html> | |