Skip to content

Commit

Permalink
Merge pull request #4 from kavishka-sulakshana/skill-data-update
Browse files Browse the repository at this point in the history
add react-icons dependency and implement new Skills component
  • Loading branch information
kavishka-sulakshana authored Jan 9, 2025
2 parents 8801959 + 625359c commit 963d2ce
Show file tree
Hide file tree
Showing 8 changed files with 182 additions and 34 deletions.
9 changes: 9 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"framer-motion": "^10.13.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-icons": "^5.4.0",
"react-router-dom": "^6.14.1",
"react-slick": "^0.29.0",
"slick-carousel": "^1.8.1",
Expand Down
2 changes: 1 addition & 1 deletion src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Navbar from "./components/Navbar/Navbar"
import AboutMe from "./components/aboutMe/AboutMe"
import Home from "./components/home/Home"
import Skills from "./components/skills/Skills"
import Skills from "./components/skills/v2/Skills"
import MyWorks from "./components/works/MyWorks"
import './App.css'
import ContactMe from "./components/Footer/ContactMe"
Expand Down
43 changes: 43 additions & 0 deletions src/components/skills/v2/SkillSet.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import skills from "../../../data/Skills";

const SkillSet = () => {
return (
<section className="container mx-auto px-4 py-4">
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
{skills.map(skill => (
<div
key={skill.name}
className="backdrop-blur-md bg-white/5 rounded-xl p-6 border border-white/10 text-cyan-100
shadow-lg hover:shadow-xl transition-all duration-300
hover:bg-white/5"
>
<div className="flex items-top gap-3 mb-4">
<div className="w-10 h-10 rounded-lg bg-gradient-to-br from-cyan-500 to-blue-500 flex items-center justify-center text-white font-bold">
{skill.icon}
</div>
<h3 className="text-xl font-semibold">{skill.name}</h3>
</div>

<hr className="mb-4" />

<div className="grid grid-cols-2 gap-4">
{skill.tools.map(tool => (
<div
key={tool.name}
className="flex items-center gap-2 p-2 bg-transparent rounded-lg transition-colors"
>
{tool.imageSrc}
<span className="text-sm font-medium text-gray-50">
{tool.name}
</span>
</div>
))}
</div>
</div>
))}
</div>
</section>
)
}

export default SkillSet
18 changes: 18 additions & 0 deletions src/components/skills/v2/Skills.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import Title from "../../small_comps/Title"
import background from '../../../assets/images/tt.jpg'
import SkillSet from "./SkillSet"

const Skills = () => {
return (
<section id="skills" className=" overflow-x-hidden relative flex flex-col py-20 h-auto sm:px-40 px-5 bg-fixed md:items-start items-center justify-center w-full bg-gradient-to-l from-cyan-950 to-gray-900">
<Title text="S K I L L S" />
<div className="flex px-3 pt-10 justify-around w-full items-center flex-wrap z-10">
<SkillSet />
</div>
<img
className="absolute w-full h-full opacity-10 z-0 object-cover left-0" src={background} alt="" />
</section>
)
}

export default Skills
3 changes: 1 addition & 2 deletions src/data/RawData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ export const skills2 = [
label: "CSS / TailwindCSS",
percentage: 80,
},

];

export const skills1 = [
Expand Down Expand Up @@ -75,4 +74,4 @@ export const colors = [
"brown",
"pink",
"gray",
]
];
78 changes: 78 additions & 0 deletions src/data/Skills.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
import { ReactNode } from "react";
import { BiLogoTypescript } from "react-icons/bi";
import { CgWebsite } from "react-icons/cg";
import { FaAws, FaDatabase, FaGithub, FaGitSquare, FaLinux, FaReact } from "react-icons/fa";
import { GrDeploy, GrServerCluster } from "react-icons/gr";
import { IoIosGitBranch } from "react-icons/io";
import { LuWorkflow } from "react-icons/lu";
import { RiTailwindCssFill } from "react-icons/ri";
import { SiDocker, SiExpress, SiFirebase, SiGitlab, SiMongodb, SiMui, SiMysql, SiNestjs, SiNextdotjs, SiPhp, SiPostgresql, SiPython, SiSpring } from "react-icons/si";


interface Tool {
name: string;
imageSrc: ReactNode;
}

interface Skill {
name: string;
icon: ReactNode;
tools: Tool[];
}

const skills: Skill[] = [
{
name: "Frontend",
icon: <CgWebsite />,
tools: [
{ name: "React", imageSrc: <FaReact /> },
{ name: "TypeScript", imageSrc: <BiLogoTypescript /> },
{ name: "Next.js", imageSrc: <SiNextdotjs /> },
{ name: "Tailwind css", imageSrc: <RiTailwindCssFill /> },
{ name: "MUI", imageSrc: <SiMui /> }
]
},
{
name: "Backend",
icon: <GrServerCluster />,
tools: [
{ name: "Spring-boot", imageSrc: <SiSpring /> },
{ name: "NestJs", imageSrc: <SiNestjs /> },
{ name: "Express", imageSrc: <SiExpress /> },
{ name: "PHP", imageSrc: <SiPhp /> },
{ name: "Python", imageSrc: <SiPython /> },
]
},
{
name: "Database",
icon: <FaDatabase />,
tools: [
{ name: "PostgreSQL", imageSrc: <SiPostgresql /> },
{ name: "MongoDB", imageSrc: <SiMongodb /> },
{ name: "FireStore", imageSrc: <SiFirebase /> },
{ name: "MySql", imageSrc: <SiMysql /> },
]
},
{
name: "DevOps",
icon: <GrDeploy />,
tools: [
{ name: "Docker", imageSrc: <SiDocker /> },
{ name: "AWS", imageSrc: <FaAws /> },
{ name: "CI / CD", imageSrc: <LuWorkflow /> },
{ name: "Linux", imageSrc: <FaLinux /> },
]
},
{
name: "Source Control",
icon: <IoIosGitBranch />,
tools: [
{ name: "Git", imageSrc: <FaGitSquare /> },
{ name: "GitHub", imageSrc: <FaGithub /> },
{ name: "GitLab", imageSrc: <SiGitlab /> },
]
}
];


export default skills;
62 changes: 31 additions & 31 deletions src/data/works.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,26 @@ import portfolio from "../assets/images/logo.jpg";
const works = [
{
id: 1,
title: "Paper Class System",
subTitle: "Telegram bot + Admin panel",
status: "Completed",
image: paperBot,
technologies: ["PYTHON", "PTB Library", "FIREBASE", "EXPRESS", "MONGODB", "REACT", "TYPESCRIPT"],
description: "This Telegram bot serves as a comprehensive academic management tool, designed to streamline the process of grading, summarizing marks, applying re-corrections, and distributing educational materials like online papers. Deployed for a tuition class with over 900 students.",
link: "https://youtu.be/HInYbasRiiw"
},
{
id: 2,
title: "PowerSmart",
subTitle: "Power management system",
status: "Completed",
image: powerSmart,
technologies: ["REACT", "REDUX", "EXPRESS", "WEBSOCKETS", "ARDUINO", "POSTGRESQL", "ML"],
description: "This is our third year project (Image from FreePic.com)",
link: ""
},
{
id: 3,
title: "Mentor",
subTitle: "Learning management System",
status: "Completed",
Expand All @@ -17,37 +37,27 @@ const works = [
link: "https://github.com/Group-project-mentor/mentor"
},
{
id: 2,
id: 4,
title: "Trinty Cam",
subTitle: "Camera Store (web app)",
status: "Completed",
image: trinty,
technologies: ["REACT", "EXPRESSJS", "SCSS", "MONGODB", "REDUX"],
technologies: ["REACT", "EXPRESS", "SCSS", "MONGODB", "REDUX"],
description: "This is our ( PIKBITS ) first MERN application for a camera store. Successfully deployed on year 2021.)",
link: "https://www.trintycam.com"
},
{
id: 3,
title: "Paper Bot",
subTitle: "Telegram bot",
id: 5,
title: "My Portfolio",
subTitle: "My portfolio website",
status: "Completed",
image: paperBot,
technologies: ["PYTHON", "PTB Library", "FIREBASE", "GOOGLE APP SCRIPT"],
description: "This is a simple Telegram bot to do the task of giving marks and marking online paper pdfs easily. This bot can give specific students' marks, marked PDFs, and some analytics of their marks",
link: "https://youtu.be/HInYbasRiiw"
},
{
id: 4,
title: "PowerSmart",
subTitle: "Power management system",
status: "Developing",
image: powerSmart,
technologies: ["REACT", "REDUX", "EXPRESSJS", "WEBSOCKETS", "ARDUINO", "POSTGRESQL", "ML"],
description: "This is our third year project (Image from FreePic.com)",
link: "https://github.com/orgs/Power-Smart/repositories"
image: portfolio,
technologies: ["REACT", "TAILWINDCSS", "TYPESCRIPT", "FRAMER MOTION"],
description: "The new portfolio website about me and my works. This is the website you are seeing now. [ 😁 click 'See Project' to see a recursion]",
link: "https://kavishka.netlify.app"
},
{
id: 5,
id: 6,
title: "Python simple projects",
subTitle: "Simple python projects for personal use",
status: "Developing",
Expand All @@ -56,16 +66,6 @@ const works = [
description: "These are some simple python utils made by me for do my works easily.",
link: "https://github.com/kavishka-sulakshana/Python-Utils"
},
{
id: 6,
title: "My Portfolio",
subTitle: "My portfolio website",
status: "Completed",
image: portfolio,
technologies: ["REACT", "TAILWINDCSS", "TYPESCRIPT", "FRAMER MOTION"],
description: "The new portfolio website about me and my works. This is the website you are seeing now. [ 😁 click 'See Project' to see a recursion]",
link: "https://kavishka.netlify.app"
},
];

export default works;
export default works;

0 comments on commit 963d2ce

Please sign in to comment.