frontend: initial commit for the frontend
This commit is contained in:
		
							
								
								
									
										26
									
								
								frontend/src/components/Introduction.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/components/Introduction.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| import { | ||||
|   AiFillGithub, | ||||
|   AiFillLinkedin | ||||
| } from "react-icons/ai"; | ||||
|  | ||||
| const Introduction = () => { | ||||
|   const BoldStyle = "text-blue-900 dark:text-blue-400" | ||||
|   return ( | ||||
|     <div className="text-center p-2"> | ||||
|       <h2 className="text-5xl text-blue-900 dark:text-blue-400 py-2 font-medium font-burtons">Taqi Tahmid</h2> | ||||
|       <h3 className="text-2xl py-2 font-burtons dark:text-blue-200">Test Automation and DevOps Engineer</h3> | ||||
|       <p className="text-md py-5 leading-8 text-gray-800 dark:text-gray-300 mx-auto max-w-2xl md:text-xl"> | ||||
|         I am a <span className={BoldStyle}>Test Automation</span> and <span className={BoldStyle}>DevOps Engineer </span> | ||||
|         with a Bachelor’s from Khulna University of Engineering & Technology (KUET) and a Master’s from Tampere University. | ||||
|         <br/><br/>I specialize in designing CI/CD pipelines and test automation for diverse applications and architectures | ||||
|         with four years of industry experience.  | ||||
|       </p> | ||||
|       <div className="text-5xl flex justify-center gap-16 py-3 text-blue-900"> | ||||
|             <a href="https://www.linkedin.com/in/taqi-tahmid/" target="_blank" rel="noreferrer"><AiFillLinkedin className="hover:text-sky-600"/></a> | ||||
|             <a href="https://github.com/TheTaqiTahmid" target="_blank" rel="noreferrer"><AiFillGithub className="hover:text-sky-600"/></a> | ||||
|       </div> | ||||
|   </div> | ||||
|   ) | ||||
| } | ||||
|  | ||||
| export default Introduction | ||||
							
								
								
									
										33
									
								
								frontend/src/components/Navbar.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								frontend/src/components/Navbar.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| import React from "react" | ||||
|  | ||||
| interface NavProps { | ||||
|   darkMode: boolean | ||||
|   toggleDarkMode: () => void | ||||
| } | ||||
|  | ||||
| const Navbar: React.FC<NavProps> = ( {toggleDarkMode, darkMode} ) => { | ||||
|   const mode = darkMode ? "Light" : "Dark" | ||||
|   return ( | ||||
|     <> | ||||
|       <nav className="py-5 mb-12 flex justify-between dark:text-white"> | ||||
|           <h1>taqitahmid@gmail.com</h1> | ||||
|           <ul className="flex items-center"> | ||||
|               <li className="transition ease-in-out delay-100 hover:scale-110 duration-300 cursor-pointer dark:text-white" | ||||
|               onClick={toggleDarkMode}> | ||||
|                 <div className="bg-gradient-to-r from-blue-900 to-sky-600 text-white px-4 py-2 rounded-md ml-8" > | ||||
|                   {mode} | ||||
|                 </div> | ||||
|               </li> | ||||
|               <li className="transition ease-in-out delay-150 hover:scale-110 duration-300"> | ||||
|                   <a className="bg-gradient-to-r from-blue-900 to-sky-600 text-white px-4 py-2 rounded-md ml-8"  | ||||
|                   href="https://www.linkedin.com/in/taqi-tahmid/overlay/1635520467350/single-media-viewer/?profileId=ACoAACDU_GsBCgKtvw2bmzbVwTy2WixBG6-e3JM"  | ||||
|                   target="_blank"  | ||||
|                   rel="noreferrer">Resume</a> | ||||
|               </li> | ||||
|           </ul> | ||||
|       </nav> | ||||
|     </> | ||||
|   ) | ||||
| } | ||||
|  | ||||
| export default Navbar | ||||
							
								
								
									
										12
									
								
								frontend/src/components/Photo.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								frontend/src/components/Photo.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| import taqimugshot from "../../src/assets/PhotoRoom_20201011_002118.jpg"; | ||||
|  | ||||
| const Photo = () => { | ||||
|   return ( | ||||
|     <div className="py-3"> | ||||
|         <img className="relative mx-auto rounded-full w-80 h-80 object-cover"  | ||||
|         src={taqimugshot}  | ||||
|         alt="mugshot"/> | ||||
|   </div> | ||||
|   ) | ||||
| } | ||||
| export default Photo | ||||
							
								
								
									
										46
									
								
								frontend/src/components/Skills.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								frontend/src/components/Skills.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| import pythonIcon from "../assets/python.svg" | ||||
| import bashIcon from "../assets/bash-icon.svg" | ||||
| import goIcon from "../assets/go-original.svg" | ||||
| import reactIcon from "../assets/react.svg" | ||||
| import ansibleIcon from "../assets/ansible.svg" | ||||
| import terraformIcon from "../assets/terraform-icon.svg" | ||||
| import jenkinsIcon from "../assets/jenkins.svg" | ||||
| import gitIcon from "../assets/git-icon.svg" | ||||
| import dockerIcon from "../assets/docker-icon.svg" | ||||
| import kubernetesIcon from "../assets/kubernetes.svg" | ||||
| import prometheusIcon from "../assets/prometheus.svg" | ||||
| import grafanaIcon from "../assets/grafana.svg" | ||||
|  | ||||
|  | ||||
| const Skills = () => { | ||||
|   const skills = [ | ||||
|     { name: 'Python', icon: pythonIcon}, | ||||
|     { name: 'Golang', icon: goIcon }, | ||||
|     { name: 'React', icon: reactIcon }, | ||||
|     { name: 'Bash', icon: bashIcon}, | ||||
|     { name: 'Ansible', icon: ansibleIcon}, | ||||
|     { name: 'Terraform', icon: terraformIcon }, | ||||
|     { name: 'Jenkins', icon: jenkinsIcon}, | ||||
|     { name: 'Git', icon: gitIcon}, | ||||
|     { name: 'Docker', icon: dockerIcon }, | ||||
|     { name: 'Kubernetes', icon: kubernetesIcon}, | ||||
|     { name: 'Prometheus', icon: prometheusIcon}, | ||||
|     { name: 'Grafana', icon: grafanaIcon}, | ||||
|   ]; | ||||
|  | ||||
|   return ( | ||||
|     <div> | ||||
|         <h1 className="text-2xl py-5 font-burtons dark:text-blue-200">Tools and Languages</h1> | ||||
|         <div className="grid grid-cols-4 gap-6 text-md py-5 leading-8 text-gray-800 dark:text-gray-300 mx-auto max-w-2xl md:text-xl"> | ||||
|         {skills.map((skill) => ( | ||||
|             <div key={skill.name} className="flex flex-col items-center"> | ||||
|                 <img src={skill.icon} alt={skill.name} className="h-10 w-10" /> | ||||
|                 <p className="mt-2 text-center">{skill.name}</p> | ||||
|             </div> | ||||
|         ))} | ||||
|         </div> | ||||
|     </div> | ||||
|   ); | ||||
| }; | ||||
|  | ||||
| export default Skills; | ||||
		Reference in New Issue
	
	Block a user