Skip to content

Commit 57b3505

Browse files
committed
updated project structure
1 parent 599fc47 commit 57b3505

2 files changed

Lines changed: 40 additions & 18 deletions

File tree

‎components/ui/BentoGrid.tsx‎

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,18 @@ export const BentoGridItem: React.FC<BentoGridItemProps> = ({
8484
<div
8585
className={cn(
8686
titleClassName,
87-
"group-hover/bento:translate-x-2 transition duration-200 relative flex flex-col px-5 py-5 lg:py-10"
87+
"group-hover/bento:translate-x-2 transition duration-200 relative flex flex-col px-4 py-4 lg:py-5"
8888
)}
8989
>
90-
<div className="flex flex-col gap-5">
91-
<div className="flex items-start gap-5">
92-
<div className="flex-1 space-y-6">
93-
<div className="drop-shadow-[0_2px_2px_rgba(0,0,0,0.8)] z-10 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3">
94-
<h2 className="text-xl md:text-2xl font-bold">
90+
<div className="flex flex-col gap-3">
91+
<div className="flex items-start gap-3">
92+
<div className="flex-1 space-y-3">
93+
<div className="drop-shadow-[0_2px_2px_rgba(0,0,0,0.8)] z-10 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2">
94+
<h2 className="text-lg md:text-xl font-bold">
9595
{link ? (
96-
<a
97-
href={link}
98-
target="_blank"
96+
<a
97+
href={link}
98+
target="_blank"
9999
rel="noopener noreferrer"
100100
className="hover:text-gray-300 transition-colors duration-200"
101101
>
@@ -110,31 +110,31 @@ export const BentoGridItem: React.FC<BentoGridItemProps> = ({
110110
href={github}
111111
target="_blank"
112112
rel="noopener noreferrer"
113-
className="self-start sm:self-auto flex items-center gap-2 px-4 py-1.5 rounded-full bg-gradient-to-r from-gray-800/70 to-gray-900/70 hover:from-gray-700/80 hover:to-gray-800/80 text-sm font-medium text-gray-200 hover:text-white transition-all duration-300 border border-gray-700/50 hover:border-gray-500/70 backdrop-blur-sm shadow-md hover:shadow-lg transform hover:-translate-y-0.5"
113+
className="self-start sm:self-auto flex items-center gap-1.5 px-3 py-1 rounded-full bg-gradient-to-r from-gray-800/70 to-gray-900/70 hover:from-gray-700/80 hover:to-gray-800/80 text-xs font-medium text-gray-200 hover:text-white transition-all duration-300 border border-gray-700/50 hover:border-gray-500/70 backdrop-blur-sm shadow-md hover:shadow-lg transform hover:-translate-y-0.5"
114114
>
115-
<div className="relative w-4 h-4 mr-1">
115+
<div className="relative w-3.5 h-3.5">
116116
<Image
117117
src="/assets/git.svg"
118118
alt="GitHub"
119119
className="transition-all duration-300"
120120
fill
121-
sizes="16px"
121+
sizes="14px"
122122
priority={false}
123123
/>
124124
</div>
125125
<span>View on GitHub</span>
126126
</a>
127127
)}
128128
</div>
129-
<div className="font-medium text-gray-200 drop-shadow-[0_1px_1px_rgba(0,0,0,0.8)] z-10">
129+
<div className="text-sm font-medium text-gray-200 drop-shadow-[0_1px_1px_rgba(0,0,0,0.8)] z-10 line-clamp-3">
130130
{description}
131131
</div>
132132

133-
<div className="flex flex-wrap gap-2 py-1">
133+
<div className="flex flex-wrap gap-1.5">
134134
{techs?.map((tech) => (
135135
<div
136136
key={tech}
137-
className="bg-electricBlue/15 text-white text-sm font-semibold px-4 py-2 rounded-full shadow-lg hover:bg-electricBlue/25 transition duration-200 ease-in-out drop-shadow-[0_1px_1px_rgba(0,0,0,0.8)]"
137+
className="bg-electricBlue/15 text-white text-xs font-semibold px-2.5 py-1 rounded-full shadow-lg hover:bg-electricBlue/25 transition duration-200 ease-in-out drop-shadow-[0_1px_1px_rgba(0,0,0,0.8)]"
138138
>
139139
{tech}
140140
</div>

‎data/projects.ts‎

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,28 @@ export interface Project {
1515
export const projects: Project[] = [
1616
{
1717
id: 1,
18+
title: "NetBird Python Client",
19+
description: "An unofficial Python library for interacting with NetBird's API, providing comprehensive network management and automation capabilities. Features complete API coverage for 11 NetBird resources, network topology visualization, advanced error handling, and type-safe Pydantic models with 98% test coverage.",
20+
className: "md:col-span-1",
21+
titleClassName: "justify-end",
22+
img: "https://i.pinimg.com/originals/be/f4/1a/bef41a7d5a877841bbf7d8f9f0d42f14.gif",
23+
github: `https://github.com/${personalInfo.github}/netbird-python-client`,
24+
link: `https://github.com/${personalInfo.github}/netbird-python-client`,
25+
techs: ["Python", "Pydantic", "REST API", "Network Automation", "DevOps", "Infrastructure as Code", "Security", "Graphviz"]
26+
},
27+
{
28+
id: 2,
29+
title: "Terraform NetBird Network Module",
30+
description: "A Terraform module for creating and managing NetBird networks with advanced networking capabilities. Features automatic peer group creation, network resource management, advanced routing configuration, granular access policy control, setup key generation for device enrollment, and multi-group resource assignment.",
31+
className: "md:col-span-1",
32+
titleClassName: "justify-start",
33+
img: "https://i.pinimg.com/originals/84/f6/d1/84f6d14f1f88d34d3956150d19060d3a.gif",
34+
github: `https://github.com/${personalInfo.github}/terraform-netbird-network`,
35+
link: `https://github.com/${personalInfo.github}/terraform-netbird-network`,
36+
techs: ["Terraform", "NetBird", "Infrastructure as Code", "Network Automation", "DevOps", "Security", "SDN", "Multi-tier Architecture"]
37+
},
38+
{
39+
id: 3,
1840
title: "AWS: Landing Zone",
1941
description: "An AWS Landing Zone is a well-architected, multi-account AWS environment that serves as a secure and scalable starting point for deploying workloads and applications, based on AWS best practices for security, governance, and networking.",
2042
className: "md:col-span-1",
@@ -25,7 +47,7 @@ export const projects: Project[] = [
2547
techs: ["AWS", "Terraform", "AWS DevOps", "Secure Networking", "Cloud Security", "DevSecOps", "Platform Management"]
2648
},
2749
{
28-
id: 2,
50+
id: 4,
2951
title: "AWS Security Comply 360",
3052
description: "AWS Security Comply 360 is a comprehensive security and compliance solution that helps organizations manage and monitor their AWS environments, ensuring compliance with security and regulatory requirements.",
3153
className: "md:col-span-1",
@@ -36,7 +58,7 @@ export const projects: Project[] = [
3658
techs: ["AWS", "Python", "CyberSecurity", "Vulnerability Assessments", "Compliance", "NIST", "CIS", "Benchmarking", "MCP", "LLM", "Gen AI"]
3759
},
3860
{
39-
id: 3,
61+
id: 5,
4062
title: "AI Powered Cloud Sandbox Provisiner",
4163
description: "A cloud sandbox provisioner is a API service that allows users to create and manage temporary, isolated environments for testing, development, or training purposes, based on Google Cloud.",
4264
className: "md:col-span-1",
@@ -47,7 +69,7 @@ export const projects: Project[] = [
4769
techs: ["Google Cloud", "Terraform", "Python", "FastAPI", "Gen AI", "DevSecOps", "Platform Management"]
4870
},
4971
{
50-
id: 4,
72+
id: 6,
5173
title: "The Self Hosted Engineer",
5274
description: "The Self-Hosted Engineer explores building cost-effective homelabs using open-source tools, Raspberry Pi clusters, and free-tier cloud services. It blends technical guidance with real-world insights, helping tech enthusiasts and aspiring DevOps engineers experiment with Kubernetes, automation, and cloud integration.",
5375
className: "md:col-span-1",

0 commit comments

Comments
 (0)