Skip to content

Commit

Permalink
Update experience and declare section
Browse files Browse the repository at this point in the history
  • Loading branch information
mhshujon committed Dec 20, 2024
1 parent 4e525af commit d2b5d46
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 40 deletions.
10 changes: 7 additions & 3 deletions src/components/Experience.tsx
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
import React from 'react';
import { Briefcase } from 'lucide-react';

const experiences = [
{
title: "Software Engineer",
company: "Code Rex",
companyUrl: "https://coderex.co/",
period: "Aug 2022 - Present",
description: "Led development of enterprise web applications using React and Node.js. Improved application performance by 40%.",
highlights: ["Led team of 5 developers", "Reduced loading time by 40%", "Implemented CI/CD pipeline"]
},
{
title: "Junior Software Engineer",
company: "Code Rex",
companyUrl: "https://coderex.co/",
period: "Mar 2021 - Jul 2022",
description: "Developed and maintained multiple client projects. Implemented CI/CD pipelines and automated testing.",
highlights: ["Built 10+ client projects", "Reduced bug reports by 60%", "Mentored junior developers"]
},
{
title: "Intern Developer",
company: "Code Rex",
companyUrl: "https://coderex.co/",
period: "Dec 2020 - Feb 2021",
description: "Built responsive web applications and contributed to the company's core product development.",
highlights: ["Developed 3 major features", "Improved UI/UX", "Learned Agile methodology"]
Expand Down Expand Up @@ -47,7 +49,9 @@ export default function Experience() {
<div className="flex flex-wrap items-center justify-between gap-4 mb-4">
<div>
<h3 className="text-xl font-bold text-gray-800">{exp.title}</h3>
<p className="text-blue-600">{exp.company}</p>
<a href={exp.companyUrl} target={`_blank`}>
<p className="text-blue-600">{exp.company}</p>
</a>
</div>
<span className="px-4 py-1 bg-blue-50 text-blue-600 rounded-full text-sm">
{exp.period}
Expand All @@ -56,7 +60,7 @@ export default function Experience() {
<p className="text-gray-600 mb-4">{exp.description}</p>
<div className="flex flex-wrap gap-2">
{exp.highlights.map((highlight, i) => (
<span key={i} className="px-3 py-1 bg-gray-50 text-gray-600 rounded-full text-sm">
<span key={i} className="px-3 py-1 bg-blue-50 text-gray-600 rounded-full text-sm">
{highlight}
</span>
))}
Expand Down
87 changes: 50 additions & 37 deletions src/components/Skills.tsx
Original file line number Diff line number Diff line change
@@ -1,51 +1,64 @@
import React from 'react';
import { Code } from 'lucide-react';
import { Code, Layout, Server, Database, Cloud, Wrench } from 'lucide-react';

const skills = {
"Frontend": ["React", "TypeScript", "Next.js", "Tailwind CSS", "Redux"],
"Backend": ["Node.js", "Express", "GraphQL", "REST APIs"],
"Database": ["PostgreSQL", "MongoDB", "Redis"],
"Cloud & DevOps": ["AWS", "Docker", "CI/CD"],
"Tools & Methods": ["Git", "Agile", "TDD", "Microservices"]
"Frontend": {
icon: Layout,
skills: ["React", "TypeScript", "Next.js", "Tailwind CSS", "Redux"]
},
"Backend": {
icon: Server,
skills: ["Node.js", "Express", "GraphQL", "REST APIs"]
},
"Database": {
icon: Database,
skills: ["PostgreSQL", "MongoDB", "Redis"]
},
"Cloud & DevOps": {
icon: Cloud,
skills: ["AWS", "Docker", "CI/CD"]
},
"Tools & Methods": {
icon: Wrench,
skills: ["Git", "Agile", "TDD", "Microservices"]
}
};

export default function Skills() {
return (
<section id="skills" className="py-20 bg-gray-50">
<div className="container mx-auto px-4">
<div className="flex items-center justify-center gap-2 mb-12">
<Code className="text-blue-600" size={28} />
<h2 className="text-3xl font-bold text-gray-800">Skills & Expertise</h2>
</div>
<section id="skills" className="py-20 bg-gray-50">
<div className="container mx-auto px-4">
<div className="flex items-center justify-center gap-2 mb-12">
<Code className="text-blue-600" size={28} />
<h2 className="text-3xl font-bold text-gray-800">Skills & Expertise</h2>
</div>

<div className="max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-8">
{Object.entries(skills).map(([category, categorySkills]) => (
<div
key={category}
className="bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow"
>
{/*<h3 className="text-xl font-semibold text-gray-800 mb-4 pb-2 border-b border-gray-100">*/}
{/* {category}*/}
{/*</h3>*/}
<div className="flex gap-2 mb-4 pb-2 border-b border-gray-100">
<Code className="text-blue-600" size={28}/>
<h3 className="text-xl font-semibold text-gray-800">{category}</h3>
</div>
<div className="flex flex-wrap gap-2">
{categorySkills.map((skill) => (
<span
key={skill}
className="px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-sm
<div className="max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{Object.entries(skills).map(([category, { icon: Icon, skills: categorySkills }]) => (
<div
key={category}
className="bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow"
>
<div className="flex items-center gap-2 mb-4 pb-2 border-b border-gray-100">
<Icon className="text-blue-600" size={20} />
<h3 className="text-xl font-semibold text-gray-800">
{category}
</h3>
</div>
<div className="flex flex-wrap gap-2">
{categorySkills.map((skill) => (
<span
key={skill}
className="px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-sm
hover:bg-blue-100 transition-colors duration-200"
>
>
{skill}
</span>
))}
))}
</div>
</div>
</div>
))}
))}
</div>
</div>
</div>
</section>
</section>
);
}

0 comments on commit d2b5d46

Please sign in to comment.