dayosalam commited on
Commit
e9eae9f
Β·
verified Β·
1 Parent(s): 473c29d

create an embedded systems engineer portfolio website with a barbie girl theme

Browse files
Files changed (6) hide show
  1. README.md +8 -5
  2. components/footer.js +28 -0
  3. components/navbar.js +42 -0
  4. index.html +189 -19
  5. script.js +38 -0
  6. style.css +35 -19
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Barbiebot Embedded Dreams
3
- emoji: πŸ‘
4
- colorFrom: red
5
- colorTo: green
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: BarbieBot Embedded Dreams πŸ’–
3
+ colorFrom: green
4
+ colorTo: blue
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/footer.js ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ .social-icon {
7
+ transition: all 0.3s ease;
8
+ }
9
+ .social-icon:hover {
10
+ transform: translateY(-3px);
11
+ color: #ff2d80;
12
+ }
13
+ </style>
14
+ <footer class="bg-white py-12 mt-24">
15
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
16
+ <div class="flex flex-col md:flex-row justify-between items-center">
17
+ <div class="mb-8 md:mb-0">
18
+ <h3 class="text-2xl font-bold text-barbie-500 mb-4">BarbieBot</h3>
19
+ <p class="text-gray-600 max-w-md">Making embedded systems sparkle with pink since 2023.</p>
20
+ </div>
21
+ <div class="flex space-x-6 mb-8 md:mb-0">
22
+ <a href="#" class="social-icon text-gray-500 hover:text-barbie-500">
23
+ <i data-feather="github" class="w-6 h-6"></i>
24
+ </a>
25
+ <a href="#" class="social-icon text-gray-500 hover:text-barbie-500">
26
+ <i data-feather="linkedin" class="w-6 h-6"></i>
27
+ </a>
28
+ <a
components/navbar.js ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ .navbar {
7
+ backdrop-filter: blur(10px);
8
+ background-color: rgba(255, 255, 255, 0.85);
9
+ }
10
+ .nav-link:hover {
11
+ color: #ff2d80;
12
+ }
13
+ .nav-link.active {
14
+ color: #ff2d80;
15
+ border-bottom: 2px solid #ff2d80;
16
+ }
17
+ </style>
18
+ <nav class="navbar fixed w-full z-50 border-b border-barbie-100 shadow-sm">
19
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
20
+ <div class="flex justify-between h-16 items-center">
21
+ <a href="#" class="flex items-center">
22
+ <span class="text-xl font-bold text-barbie-500">BarbieBot</span>
23
+ <i data-feather="cpu" class="w-5 h-5 ml-1 text-barbie-400"></i>
24
+ </a>
25
+ <div class="hidden md:flex items-center space-x-8">
26
+ <a href="#" class="nav-link text-gray-700 hover:text-barbie-500 font-medium">Home</a>
27
+ <a href="#projects" class="nav-link text-gray-700 hover:text-barbie-500 font-medium">Projects</a>
28
+ <a href="#contact" class="nav-link text-gray-700 hover:text-barbie-500 font-medium">Contact</a>
29
+ <a href="#" class="px-4 py-2 bg-barbie-500 text-white rounded-full font-medium hover:bg-barbie-600 transition-all">
30
+ Download CV
31
+ </a>
32
+ </div>
33
+ <button class="md:hidden text-barbie-500 focus:outline-none">
34
+ <i data-feather="menu" class="w-6 h-6"></i>
35
+ </button>
36
+ </div>
37
+ </div>
38
+ </nav>
39
+ `;
40
+ }
41
+ }
42
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,189 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="scroll-smooth">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>BarbieBot Embedded Dreams | Embedded Systems Engineer</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script>
10
+ tailwind.config = {
11
+ theme: {
12
+ extend: {
13
+ colors: {
14
+ barbie: {
15
+ 50: '#fff0f6',
16
+ 100: '#ffd6e7',
17
+ 200: '#ffadd2',
18
+ 300: '#ff85b8',
19
+ 400: '#ff5c9d',
20
+ 500: '#ff2d80', // Primary Barbie pink
21
+ 600: '#e60073',
22
+ 700: '#cc0066',
23
+ 800: '#b30059',
24
+ 900: '#99004d',
25
+ },
26
+ barbieAccent: {
27
+ 100: '#f0f9ff',
28
+ 200: '#d8f0ff',
29
+ 300: '#b3e0ff',
30
+ 400: '#66c2ff',
31
+ 500: '#00a3ff', // Accent blue
32
+ 600: '#0085d6',
33
+ 700: '#0067ad',
34
+ 800: '#004a85',
35
+ 900: '#002d5c',
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ </script>
42
+ <script src="https://unpkg.com/feather-icons"></script>
43
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
44
+ <script src="components/navbar.js"></script>
45
+ <script src="components/footer.js"></script>
46
+ </head>
47
+ <body class="bg-barbie-50 font-sans antialiased">
48
+ <custom-navbar></custom-navbar>
49
+
50
+ <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
51
+ <!-- Hero Section -->
52
+ <section class="flex flex-col md:flex-row items-center justify-between gap-12 mb-24">
53
+ <div class="md:w-1/2">
54
+ <h1 class="text-5xl md:text-6xl font-bold text-barbie-700 mb-6">
55
+ Hi, I'm <span class="text-barbie-500">BarbieBot</span> πŸ€–
56
+ </h1>
57
+ <p class="text-xl text-gray-700 mb-8">
58
+ Embedded Systems Engineer with a passion for pink circuits and making hardware dreams come true!
59
+ </p>
60
+ <div class="flex gap-4">
61
+ <a href="#projects" class="px-6 py-3 bg-barbie-500 hover:bg-barbie-600 text-white rounded-full font-medium transition-all shadow-lg hover:shadow-xl">
62
+ See My Projects
63
+ </a>
64
+ <a href="#contact" class="px-6 py-3 border-2 border-barbie-500 text-barbie-500 hover:bg-barbie-100 rounded-full font-medium transition-all">
65
+ Contact Me
66
+ </a>
67
+ </div>
68
+ </div>
69
+ <div class="md:w-1/2 relative">
70
+ <div class="bg-barbie-100 rounded-3xl p-4 shadow-2xl transform rotate-3">
71
+ <img src="http://static.photos/technology/640x360/42" alt="Embedded Systems" class="rounded-2xl w-full h-auto border-4 border-white">
72
+ </div>
73
+ <div class="absolute -bottom-8 -left-8 bg-barbieAccent-500 text-white p-4 rounded-full shadow-xl">
74
+ <i data-feather="cpu" class="w-8 h-8"></i>
75
+ </div>
76
+ <div class="absolute -top-8 -right-8 bg-barbie-500 text-white p-4 rounded-full shadow-xl">
77
+ <i data-feather="code" class="w-8 h-8"></i>
78
+ </div>
79
+ </div>
80
+ </section>
81
+
82
+ <!-- Skills Section -->
83
+ <section class="mb-24">
84
+ <h2 class="text-3xl font-bold text-barbie-700 mb-12 text-center">My Tech Sparkles ✨</h2>
85
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-6">
86
+ <div class="bg-white p-6 rounded-2xl shadow-md hover:shadow-xl transition-all border-t-4 border-barbie-500">
87
+ <div class="text-barbie-500 mb-4">
88
+ <i data-feather="cpu" class="w-10 h-10"></i>
89
+ </div>
90
+ <h3 class="font-bold text-lg mb-2">Microcontrollers</h3>
91
+ <p class="text-gray-600">ARM, AVR, PIC, ESP32</p>
92
+ </div>
93
+ <div class="bg-white p-6 rounded-2xl shadow-md hover:shadow-xl transition-all border-t-4 border-barbie-500">
94
+ <div class="text-barbie-500 mb-4">
95
+ <i data-feather="code" class="w-10 h-10"></i>
96
+ </div>
97
+ <h3 class="font-bold text-lg mb-2">Programming</h3>
98
+ <p class="text-gray-600">C, C++, Python, Rust</p>
99
+ </div>
100
+ <div class="bg-white p-6 rounded-2xl shadow-md hover:shadow-xl transition-all border-t-4 border-barbie-500">
101
+ <div class="text-barbie-500 mb-4">
102
+ <i data-feather="zap" class="w-10 h-10"></i>
103
+ </div>
104
+ <h3 class="font-bold text-lg mb-2">PCB Design</h3>
105
+ <p class="text-gray-600">KiCad, Altium, Eagle</p>
106
+ </div>
107
+ <div class="bg-white p-6 rounded-2xl shadow-md hover:shadow-xl transition-all border-t-4 border-barbie-500">
108
+ <div class="text-barbie-500 mb-4">
109
+ <i data-feather="wifi" class="w-10 h-10"></i>
110
+ </div>
111
+ <h3 class="font-bold text-lg mb-2">IoT</h3>
112
+ <p class="text-gray-600">BLE, LoRa, WiFi, MQTT</p>
113
+ </div>
114
+ </div>
115
+ </section>
116
+
117
+ <!-- Projects Section -->
118
+ <section id="projects" class="mb-24">
119
+ <h2 class="text-3xl font-bold text-barbie-700 mb-12 text-center">My Pink Projects πŸ’–</h2>
120
+ <div class="grid md:grid-cols-2 gap-8">
121
+ <div class="bg-white rounded-2xl overflow-hidden shadow-lg hover:shadow-xl transition-all">
122
+ <div class="h-48 bg-barbie-100 flex items-center justify-center">
123
+ <i data-feather="watch" class="w-20 h-20 text-barbie-500"></i>
124
+ </div>
125
+ <div class="p-6">
126
+ <h3 class="font-bold text-xl mb-2 text-barbie-700">Smart Pink Watch</h3>
127
+ <p class="text-gray-600 mb-4">Custom wearable with heart rate monitoring and pink LED notifications.</p>
128
+ <div class="flex flex-wrap gap-2 mb-4">
129
+ <span class="px-3 py-1 bg-barbie-100 text-barbie-700 rounded-full text-sm">ESP32</span>
130
+ <span class="px-3 py-1 bg-barbie-100 text-barbie-700 rounded-full text-sm">BLE</span>
131
+ <span class="px-3 py-1 bg-barbie-100 text-barbie-700 rounded-full text-sm">FreeRTOS</span>
132
+ </div>
133
+ <a href="#" class="text-barbie-500 hover:text-barbie-700 font-medium inline-flex items-center">
134
+ View Project <i data-feather="arrow-right" class="w-4 h-4 ml-2"></i>
135
+ </a>
136
+ </div>
137
+ </div>
138
+ <div class="bg-white rounded-2xl overflow-hidden shadow-lg hover:shadow-xl transition-all">
139
+ <div class="h-48 bg-barbie-100 flex items-center justify-center">
140
+ <i data-feather="home" class="w-20 h-20 text-barbie-500"></i>
141
+ </div>
142
+ <div class="p-6">
143
+ <h3 class="font-bold text-xl mb-2 text-barbie-700">DreamHouse Automation</h3>
144
+ <p class="text-gray-600 mb-4">Pink-themed smart home system with voice control and custom PCBs.</p>
145
+ <div class="flex flex-wrap gap-2 mb-4">
146
+ <span class="px-3 py-1 bg-barbie-100 text-barbie-700 rounded-full text-sm">STM32</span>
147
+ <span class="px-3 py-1 bg-barbie-100 text-barbie-700 rounded-full text-sm">Zigbee</span>
148
+ <span class="px-3 py-1 bg-barbie-100 text-barbie-700 rounded-full text-sm">KiCad</span>
149
+ </div>
150
+ <a href="#" class="text-barbie-500 hover:text-barbie-700 font-medium inline-flex items-center">
151
+ View Project <i data-feather="arrow-right" class="w-4 h-4 ml-2"></i>
152
+ </a>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </section>
157
+
158
+ <!-- Contact Section -->
159
+ <section id="contact" class="bg-barbie-500 rounded-3xl p-8 md:p-12 text-white">
160
+ <div class="max-w-3xl mx-auto">
161
+ <h2 class="text-3xl font-bold mb-6">Let's Build Something Pink Together! 🌸</h2>
162
+ <p class="text-xl mb-8">Whether you have a hardware project that needs some sparkle or just want to chat about embedded systems, I'd love to hear from you!</p>
163
+ <form class="space-y-6">
164
+ <div>
165
+ <label for="name" class="block mb-2 font-medium">Your Name</label>
166
+ <input type="text" id="name" class="w-full px-4 py-3 rounded-lg bg-barbie-400 placeholder-barbie-200 focus:outline-none focus:ring-2 focus:ring-white">
167
+ </div>
168
+ <div>
169
+ <label for="email" class="block mb-2 font-medium">Your Email</label>
170
+ <input type="email" id="email" class="w-full px-4 py-3 rounded-lg bg-barbie-400 placeholder-barbie-200 focus:outline-none focus:ring-2 focus:ring-white">
171
+ </div>
172
+ <div>
173
+ <label for="message" class="block mb-2 font-medium">Your Message</label>
174
+ <textarea id="message" rows="4" class="w-full px-4 py-3 rounded-lg bg-barbie-400 placeholder-barbie-200 focus:outline-none focus:ring-2 focus:ring-white"></textarea>
175
+ </div>
176
+ <button type="submit" class="w-full md:w-auto px-8 py-3 bg-white text-barbie-500 rounded-full font-bold hover:bg-barbie-100 transition-all shadow-lg">
177
+ Send Message <i data-feather="send" class="w-5 h-5 ml-2 inline"></i>
178
+ </button>
179
+ </form>
180
+ </div>
181
+ </section>
182
+ </main>
183
+
184
+ <custom-footer></custom-footer>
185
+ <script>feather.replace();</script>
186
+ <script src="script.js"></script>
187
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
188
+ </body>
189
+ </html>
script.js ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener('DOMContentLoaded', function() {
2
+ // Smooth scrolling for anchor links
3
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
4
+ anchor.addEventListener('click', function (e) {
5
+ e.preventDefault();
6
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
7
+ behavior: 'smooth'
8
+ });
9
+ });
10
+ });
11
+
12
+ // Form submission handling
13
+ const contactForm = document.querySelector('form');
14
+ if (contactForm) {
15
+ contactForm.addEventListener('submit', function(e) {
16
+ e.preventDefault();
17
+ alert('Thank you for your message! BarbieBot will get back to you soon. πŸ’–');
18
+ this.reset();
19
+ });
20
+ }
21
+
22
+ // Animate elements when they come into view
23
+ const animateOnScroll = () => {
24
+ const elements = document.querySelectorAll('.animate-on-scroll');
25
+
26
+ elements.forEach(element => {
27
+ const elementPosition = element.getBoundingClientRect().top;
28
+ const screenPosition = window.innerHeight / 1.2;
29
+
30
+ if (elementPosition < screenPosition) {
31
+ element.classList.add('animate-fadeInUp');
32
+ }
33
+ });
34
+ };
35
+
36
+ window.addEventListener('scroll', animateOnScroll);
37
+ animateOnScroll(); // Run once on load
38
+ });
style.css CHANGED
@@ -1,28 +1,44 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Custom animations */
2
+ @keyframes float {
3
+ 0% { transform: translateY(0px); }
4
+ 50% { transform: translateY(-10px); }
5
+ 100% { transform: translateY(0px); }
6
  }
7
 
8
+ .float-animation {
9
+ animation: float 3s ease-in-out infinite;
 
10
  }
11
 
12
+ /* Custom scrollbar */
13
+ ::-webkit-scrollbar {
14
+ width: 8px;
 
 
15
  }
16
 
17
+ ::-webkit-scrollbar-track {
18
+ background: #ffd6e7;
 
 
 
 
19
  }
20
 
21
+ ::-webkit-scrollbar-thumb {
22
+ background: #ff2d80;
23
+ border-radius: 4px;
24
  }
25
+
26
+ ::-webkit-scrollbar-thumb:hover {
27
+ background: #e60073;
28
+ }
29
+
30
+ /* Selection colors */
31
+ ::selection {
32
+ background: #ff85b8;
33
+ color: white;
34
+ }
35
+
36
+ /* Smooth transitions */
37
+ a, button {
38
+ transition: all 0.3s ease;
39
+ }
40
+
41
+ /* Custom focus styles */
42
+ input:focus, textarea:focus {
43
+ box-shadow: 0 0 0 3px rgba(255, 45, 128, 0.3);
44
+ }