├── public
├── favicon.ico
├── assets
│ ├── avatar.png
│ ├── hire_bg.jpg
│ ├── projects
│ │ ├── web1.png
│ │ ├── web2.png
│ │ ├── web3.png
│ │ ├── web4.png
│ │ ├── web5.png
│ │ ├── web6.png
│ │ ├── web7.png
│ │ ├── web8.png
│ │ ├── web9.png
│ │ ├── web10.png
│ │ ├── web11.png
│ │ ├── web12.png
│ │ └── web13.png
│ ├── icons
│ │ ├── html.svg
│ │ ├── css.svg
│ │ ├── svg.svg
│ │ ├── js.svg
│ │ ├── php.svg
│ │ ├── git.svg
│ │ ├── nodejs.svg
│ │ ├── react.svg
│ │ ├── mongodb.svg
│ │ ├── jquery.svg
│ │ └── sass.svg
│ └── logo.svg
└── index.html
├── src
├── index.js
├── data
│ ├── HomeData.jsx
│ ├── AboutData.jsx
│ ├── ContactData.jsx
│ ├── NavData.jsx
│ ├── WorkData.jsx
│ ├── BioData.jsx
│ └── ProjectsData.jsx
├── components
│ ├── WorkCard.jsx
│ ├── BioDataCard.jsx
│ ├── ProjectsCard.jsx
│ ├── Timeline.jsx
│ └── Navbar.jsx
├── pages
│ ├── Hire.jsx
│ ├── Footer.jsx
│ ├── Work.jsx
│ ├── Projects.jsx
│ ├── Biodata.jsx
│ ├── Home.jsx
│ ├── About.jsx
│ └── Contact.jsx
├── App.jsx
├── css
│ ├── Footer.css
│ ├── Hire.css
│ ├── Work.css
│ ├── Home.css
│ ├── Projects.css
│ ├── About.css
│ ├── Contact.css
│ ├── Biodata.css
│ └── Navbar.css
└── App.css
├── .gitignore
├── README.md
└── package.json
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/favicon.ico
--------------------------------------------------------------------------------
/public/assets/avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/avatar.png
--------------------------------------------------------------------------------
/public/assets/hire_bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/hire_bg.jpg
--------------------------------------------------------------------------------
/public/assets/projects/web1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web1.png
--------------------------------------------------------------------------------
/public/assets/projects/web2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web2.png
--------------------------------------------------------------------------------
/public/assets/projects/web3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web3.png
--------------------------------------------------------------------------------
/public/assets/projects/web4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web4.png
--------------------------------------------------------------------------------
/public/assets/projects/web5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web5.png
--------------------------------------------------------------------------------
/public/assets/projects/web6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web6.png
--------------------------------------------------------------------------------
/public/assets/projects/web7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web7.png
--------------------------------------------------------------------------------
/public/assets/projects/web8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web8.png
--------------------------------------------------------------------------------
/public/assets/projects/web9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web9.png
--------------------------------------------------------------------------------
/public/assets/projects/web10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web10.png
--------------------------------------------------------------------------------
/public/assets/projects/web11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web11.png
--------------------------------------------------------------------------------
/public/assets/projects/web12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web12.png
--------------------------------------------------------------------------------
/public/assets/projects/web13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imniladri/React-Portfolio/main/public/assets/projects/web13.png
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom";
3 | import App from "./App";
4 |
5 | ReactDOM.render(, document.getElementById("root"));
6 |
--------------------------------------------------------------------------------
/src/data/HomeData.jsx:
--------------------------------------------------------------------------------
1 | const HomeData = {
2 | tag_line_1: "Hi, I'm a Front End",
3 | tag_line_2: "Developer",
4 | location: "based in West Bengal, IN.",
5 | btn_1: "View My Projects",
6 | btn_2: "Contact Me",
7 | img_src: "assets/avatar.png",
8 | img_alt: "Profile Img",
9 | };
10 |
11 | export default HomeData;
12 |
--------------------------------------------------------------------------------
/public/assets/icons/html.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/WorkCard.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | function WorkCard(props) {
4 | return (
5 | <>
6 |
7 |
{props.icon}
8 |
{props.name}
9 |
{props.desc}
10 |
11 | >
12 | );
13 | }
14 |
15 | export default WorkCard;
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/public/assets/icons/css.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React Portfolio
2 |
3 | ### **_This project is made with [React Js](https://reactjs.org/)._**
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | ## Description:
12 |
13 |
14 | This is a very simple & clean portfolio template made with React.
15 |
16 | And, It is a part of Developer Days Hackathon.
17 |
18 |
19 | ### [Live Here](https://react-portfolio-imniladri.vercel.app/)
20 |
21 |
22 |
23 | **_--Thank You--_**
24 |
--------------------------------------------------------------------------------
/src/pages/Hire.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/Hire.css";
3 |
4 | function Hire() {
5 | const hireBg = {
6 | backgroundImage: "url(assets/hire_bg.jpg)",
7 | };
8 |
9 | return (
10 | <>
11 |
12 |
13 |
Interested in working with me?
14 |
15 |
16 |
17 | >
18 | );
19 | }
20 |
21 | export default Hire;
22 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | React Portfolio
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/components/BioDataCard.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | function BioDataCard(props) {
4 | return (
5 | <>
6 |
7 |
{props.course}
8 |
{props.place}
9 |
{props.desc}
10 |
11 |
12 | >
13 | );
14 | }
15 |
16 | function BioSkillsIcons(props) {
17 | return (
18 | <>
19 |
20 |

21 |
22 | >
23 | );
24 | }
25 |
26 | export { BioDataCard, BioSkillsIcons };
27 |
--------------------------------------------------------------------------------
/src/components/ProjectsCard.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | function ProjectsCard(props) {
4 | return (
5 | <>
6 |
18 | >
19 | );
20 | }
21 |
22 | export default ProjectsCard;
23 |
--------------------------------------------------------------------------------
/src/data/AboutData.jsx:
--------------------------------------------------------------------------------
1 | const AboutData = {
2 | about_head_tag: "About Me",
3 | about_head_title: "Know Me More",
4 |
5 | about_content_name: "Niladri Mondal",
6 | about_content_desc:
7 | "I'm a creative & passionate front end developer with a keen eye in design. I enjoy developing simple, clean, attractive and slick websites that provide real value & interests to the end user. Delivering work within time and budget which meets client’s requirements is my moto.",
8 | about_content_exp: "2",
9 |
10 | about_footer_name: "Niladri Mondal",
11 | about_footer_email: "nm2346@ee.jgec.ac.in",
12 | about_footer_dob: "4th October, 2000",
13 | about_footer_place: "JGEC, WB, IN",
14 | };
15 |
16 | export default AboutData;
17 |
--------------------------------------------------------------------------------
/public/assets/icons/svg.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | // Css
4 | import "bootstrap/dist/css/bootstrap.min.css";
5 | import "./App.css";
6 |
7 | // Components
8 | import Navbar from "./components/Navbar";
9 | import Home from "./pages/Home";
10 | import About from "./pages/About";
11 | import Work from "./pages/Work";
12 | import Biodata from "./pages/Biodata";
13 | import Projects from "./pages/Projects";
14 | import Hire from "./pages/Hire";
15 | import Contact from "./pages/Contact";
16 | import Footer from "./pages/Footer";
17 |
18 | function App() {
19 | return (
20 | <>
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | >
31 | );
32 | }
33 |
34 | export default App;
35 |
--------------------------------------------------------------------------------
/public/assets/icons/js.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/pages/Footer.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/Footer.css";
3 | import { FaHeart } from "react-icons/fa";
4 |
5 | function Footer() {
6 | return (
7 | <>
8 |
28 | >
29 | );
30 | }
31 |
32 | export default Footer;
33 |
--------------------------------------------------------------------------------
/public/assets/icons/php.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "portfolio",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@testing-library/jest-dom": "^5.14.1",
7 | "@testing-library/react": "^11.2.7",
8 | "@testing-library/user-event": "^12.8.3",
9 | "bootstrap": "^5.1.0",
10 | "react": "^17.0.2",
11 | "react-dom": "^17.0.2",
12 | "react-icons": "^4.2.0",
13 | "react-reveal": "^1.2.2",
14 | "react-scripts": "4.0.3",
15 | "react-scroll": "^1.8.4",
16 | "web-vitals": "^1.1.2"
17 | },
18 | "scripts": {
19 | "start": "react-scripts start",
20 | "build": "react-scripts build",
21 | "test": "react-scripts test",
22 | "eject": "react-scripts eject"
23 | },
24 | "eslintConfig": {
25 | "extends": [
26 | "react-app",
27 | "react-app/jest"
28 | ]
29 | },
30 | "browserslist": {
31 | "production": [
32 | ">0.2%",
33 | "not dead",
34 | "not op_mini all"
35 | ],
36 | "development": [
37 | "last 1 chrome version",
38 | "last 1 firefox version",
39 | "last 1 safari version"
40 | ]
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/data/ContactData.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | FaLinkedinIn,
3 | FaGithub,
4 | FaFacebook,
5 | FaSpotify,
6 | FaTwitter,
7 | } from "react-icons/fa";
8 |
9 | const ContactData = {
10 | contact_content_head: "Let's get in touch",
11 | contact_content_desc:
12 | "I enjoy discussing new projects and design challenges. Please share as much info, as possible so we can get the most out of our first catch-up.",
13 |
14 | contact_content_place: "DVC Colony, Purulia, WB.",
15 | contact_content_phone: "(+91) 77975 73916",
16 |
17 | contact_form_head: "Estimate your Project?",
18 |
19 | contact_form_input_1: "What's Your Name:",
20 | contact_form_input_2: "Your Email Address:",
21 | contact_form_input_3: "How can I Help you?",
22 |
23 | contact_icon_linkedin: ,
24 | contact_icon_github: ,
25 | contact_icon_facebook: ,
26 | contact_icon_spotify: ,
27 | contact_icon_twitter: ,
28 |
29 | contact_link_linkedin: "",
30 | contact_link_github: "",
31 | contact_link_facebook: "",
32 | contact_link_spotify: "",
33 | contact_link_twitter: "",
34 | };
35 |
36 | export default ContactData;
37 |
--------------------------------------------------------------------------------
/public/assets/icons/git.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/data/NavData.jsx:
--------------------------------------------------------------------------------
1 | import {
2 | FaLinkedin,
3 | FaGithub,
4 | FaCodepen,
5 | FaDiscord,
6 | FaTwitter,
7 | } from "react-icons/fa";
8 |
9 | const NavLinkData = [
10 | {
11 | id: 1,
12 | to: "home",
13 | name: "Home",
14 | },
15 | {
16 | id: 2,
17 | to: "about",
18 | name: "About",
19 | },
20 | {
21 | id: 3,
22 | to: "work",
23 | name: "Work",
24 | },
25 | {
26 | id: 4,
27 | to: "biodata",
28 | name: "Biodata",
29 | },
30 | {
31 | id: 5,
32 | to: "projects",
33 | name: "Projects",
34 | },
35 | {
36 | id: 6,
37 | to: "contact",
38 | name: "Contact",
39 | },
40 | ];
41 |
42 | const NavSocialData = [
43 | {
44 | id: 1,
45 | social_icon: ,
46 | social_link: "",
47 | },
48 | {
49 | id: 2,
50 | social_icon: ,
51 | social_link: "",
52 | },
53 | {
54 | id: 3,
55 | social_icon: ,
56 | social_link: "",
57 | },
58 | {
59 | id: 4,
60 | social_icon: ,
61 | social_link: "",
62 | },
63 | {
64 | id: 5,
65 | social_icon: ,
66 | social_link: "",
67 | },
68 | ];
69 |
70 | export { NavLinkData, NavSocialData };
71 |
--------------------------------------------------------------------------------
/src/pages/Work.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/Work.css";
3 | import Fade from "react-reveal/Fade";
4 | import WorkCard from "../components/WorkCard";
5 | import { WorkData, WorkCardData } from "../data/WorkData";
6 |
7 | function Work() {
8 | return (
9 | <>
10 |
11 |
12 |
13 |
14 | {WorkData.work_head_tag}
15 |
{WorkData.work_head_title}
16 |
17 |
18 |
19 |
20 |
21 | {WorkCardData.map((val) => {
22 | return (
23 |
29 | );
30 | })}
31 |
32 |
33 |
34 |
35 | >
36 | );
37 | }
38 |
39 | export default Work;
40 |
--------------------------------------------------------------------------------
/src/pages/Projects.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/Projects.css";
3 | import ProjectsCard from "../components/ProjectsCard";
4 | import { ProjectsData, ProjectsCardData } from "../data/ProjectsData";
5 |
6 | function Projects() {
7 | return (
8 | <>
9 |
10 |
11 |
12 | {ProjectsData.projects_head_tag}
13 |
{ProjectsData.projects_head_title}
14 |
15 |
16 |
17 | {ProjectsCardData.map((val) => {
18 | return (
19 |
28 | );
29 | })}
30 |
31 |
32 |
33 | >
34 | );
35 | }
36 |
37 | export default Projects;
38 |
--------------------------------------------------------------------------------
/src/components/Timeline.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { BioDataCard } from "./BioDataCard";
3 | import { BioDataHead, BioDataEdu, BioDataExp } from "../data/BioData";
4 |
5 | function Timeline() {
6 | return (
7 | <>
8 |
9 |
{BioDataHead.bio_edu_sub_head}
10 |
11 | {BioDataEdu.map((val) => {
12 | return (
13 |
19 | );
20 | })}
21 |
22 |
23 |
24 |
25 |
{BioDataHead.bio_exp_sub_head}
26 |
27 | {BioDataExp.map((val) => {
28 | return (
29 |
35 | );
36 | })}
37 |
38 |
39 | >
40 | );
41 | }
42 |
43 | export default Timeline;
44 |
--------------------------------------------------------------------------------
/src/css/Footer.css:
--------------------------------------------------------------------------------
1 | /* **************************** Footer Comp Styles **************************** */
2 |
3 | section#footer {
4 | margin: 0;
5 | position: relative;
6 | width: 100%;
7 | height: 100%;
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | background: rgba(17, 20, 24, 1);
12 | }
13 |
14 | section#footer div.footer {
15 | position: relative;
16 | padding: 6rem 10rem;
17 | width: 100%;
18 | display: flex;
19 | justify-content: space-between;
20 | align-items: center;
21 | align-content: center;
22 | flex-wrap: wrap;
23 | border-top: 3px solid var(--darkwhite);
24 | }
25 |
26 | section#footer div.footer h4 {
27 | margin: 1rem;
28 | font-size: 1.7rem;
29 | font-weight: 400;
30 | color: var(--darkwhite);
31 | line-height: 1.5;
32 | letter-spacing: 0.5px;
33 | word-spacing: -1px;
34 | }
35 |
36 | section#footer div.footer h4 i {
37 | margin: 0 5px;
38 | font-size: 2rem;
39 | color: var(--lightyellow);
40 | }
41 |
42 | section#footer div.footer h4 a {
43 | margin: 0 5px;
44 | font-weight: 600;
45 | color: var(--lightyellow);
46 | text-decoration: none;
47 | }
48 |
49 | section#footer div.footer h4 a:hover {
50 | text-decoration: underline;
51 | }
52 |
53 | /* **************************** Responsive Medias **************************** */
54 |
55 | @media (max-width: 992px) {
56 | section#footer div.footer {
57 | padding: 6rem 4rem;
58 | }
59 | }
60 |
61 | @media (max-width: 768px) {
62 | section#footer div.footer {
63 | padding: 4rem 2rem;
64 | }
65 | }
66 |
67 | /* **************************** Styles End **************************** */
68 |
--------------------------------------------------------------------------------
/public/assets/icons/nodejs.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/pages/Biodata.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/Biodata.css";
3 | import Timeline from "../components/Timeline";
4 | import { BioSkillsIcons } from "../components/BioDataCard";
5 | import { BioDataHead, BioDataSkills } from "../data/BioData";
6 |
7 | function Biodata() {
8 | return (
9 | <>
10 |
11 |
12 |
13 | {BioDataHead.bio_head_tag}
14 |
{BioDataHead.bio_head_title}
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
{BioDataHead.bio_skills_sub_head}
23 |
24 | {BioDataSkills.map((val) => {
25 | return (
26 |
31 | );
32 | })}
33 |
34 |
37 |
38 |
39 |
40 | >
41 | );
42 | }
43 |
44 | export default Biodata;
45 |
--------------------------------------------------------------------------------
/src/css/Hire.css:
--------------------------------------------------------------------------------
1 | /* **************************** Hire Comp Styles **************************** */
2 |
3 | section#hire {
4 | margin: 5rem auto;
5 | padding: 20rem;
6 | position: relative;
7 | width: 100%;
8 | height: 100%;
9 | display: flex;
10 | justify-content: center;
11 | align-items: center;
12 |
13 | background-size: cover;
14 | background-repeat: no-repeat;
15 | background-attachment: fixed;
16 | background-position: center top;
17 | }
18 |
19 | section#hire div.hire {
20 | position: absolute;
21 | display: flex;
22 | justify-content: center;
23 | align-items: center;
24 | flex-direction: column;
25 | width: 100%;
26 | height: 100%;
27 | background: rgba(0, 0, 0, 0.7);
28 | }
29 |
30 | section#hire div.hire h2 {
31 | margin: 1rem auto;
32 | font-size: 3.8rem;
33 | font-weight: 600;
34 | color: var(--darkwhite);
35 | letter-spacing: 0.5px;
36 | text-align: center;
37 | }
38 |
39 | section#hire div.hire button.btn {
40 | margin: 1rem auto;
41 | padding: 1.3rem 3.6rem;
42 | font-size: 1.8rem;
43 | font-weight: 500;
44 | color: var(--darkblack);
45 | background: var(--lightyellow);
46 | border-radius: 0;
47 | }
48 |
49 | /* **************************** Responsive Medias **************************** */
50 |
51 | @media (max-width: 768px) {
52 | section#hire {
53 | margin: auto;
54 | padding: 15rem;
55 | }
56 |
57 | section#hire div.hire {
58 | padding: 1rem 2rem;
59 | }
60 | section#hire div.hire h2 {
61 | font-size: 3.2rem;
62 | }
63 | section#hire div.hire button.btn {
64 | padding: 1rem 3.2rem;
65 | }
66 | }
67 |
68 | /* **************************** Styles End **************************** */
69 |
--------------------------------------------------------------------------------
/src/App.css:
--------------------------------------------------------------------------------
1 | /* **************************** Import Google Fonts **************************** */
2 |
3 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800&display=swap");
4 |
5 | /* **************************** Site General Settings **************************** */
6 |
7 | * {
8 | margin: 0;
9 | padding: 0;
10 | scroll-behavior: smooth;
11 | }
12 |
13 | html {
14 | font-size: 62.5%;
15 | }
16 |
17 | @media (max-width: 992px) {
18 | html {
19 | font-size: 56.25%;
20 | }
21 | }
22 |
23 | @media (max-width: 768px) {
24 | html {
25 | font-size: 50%;
26 | }
27 | }
28 |
29 | body {
30 | background: var(--darkwhite);
31 | font-family: "Poppins", sans-serif;
32 | }
33 |
34 | /* **************************** Color Variables **************************** */
35 |
36 | :root {
37 | --darkblack: #212529;
38 | --lightblack: #4c4d4d;
39 |
40 | --darkwhite: #ffffff;
41 | --lightwhite: #f8f9fa;
42 |
43 | --darkgrey: #6c757d;
44 |
45 | --lightyellow: #f5df4e;
46 |
47 | --btnBg: #343a40;
48 | --btnBgHover: #23272b;
49 | }
50 |
51 | /* **************************** Scroll Bar **************************** */
52 |
53 | ::-webkit-scrollbar {
54 | width: 10px;
55 | height: 10px;
56 | }
57 | ::-webkit-scrollbar-thumb {
58 | background: var(--darkblack);
59 | }
60 |
61 | /* **************************** Selection **************************** */
62 |
63 | ::selection {
64 | color: var(--darkwhite);
65 | background: var(--lightyellow);
66 | }
67 |
68 | /* **************************** User Select None **************************** */
69 |
70 | img,
71 | .noselect {
72 | user-select: none;
73 | -webkit-user-select: none;
74 | -moz-user-select: none;
75 | -ms-user-select: none;
76 | }
77 |
78 | button.btn:active,
79 | button.btn:focus,
80 | a.btn:active,
81 | a.btn:focus {
82 | box-shadow: none;
83 | }
84 |
--------------------------------------------------------------------------------
/public/assets/icons/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/data/WorkData.jsx:
--------------------------------------------------------------------------------
1 | import { MdDesktopWindows, MdAndroid, MdBorderColor } from "react-icons/md";
2 | import { FaRobot, FaPaintBrush, FaBullhorn } from "react-icons/fa";
3 |
4 | const WorkData = {
5 | work_head_tag: "What I Do?",
6 | work_head_title: "How I can help your next project",
7 | };
8 |
9 | const WorkCardData = [
10 | {
11 | id: 1,
12 | work_icon: ,
13 | work_name: "Web Development",
14 | work_desc:
15 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text.",
16 | },
17 | {
18 | id: 2,
19 | work_icon: ,
20 | work_name: "Android Development",
21 | work_desc:
22 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text.",
23 | },
24 | {
25 | id: 3,
26 | work_icon: ,
27 | work_name: "Content Writer",
28 | work_desc:
29 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text.",
30 | },
31 | {
32 | id: 4,
33 | work_icon: ,
34 | work_name: "Artificial Intelligence",
35 | work_desc:
36 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text.",
37 | },
38 | {
39 | id: 5,
40 | work_icon: ,
41 | work_name: "Graphics Design",
42 | work_desc:
43 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text.",
44 | },
45 | {
46 | id: 6,
47 | work_icon: ,
48 | work_name: "Digital Marketing",
49 | work_desc:
50 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text.",
51 | },
52 | ];
53 |
54 | export { WorkData, WorkCardData };
55 |
--------------------------------------------------------------------------------
/src/pages/Home.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/Home.css";
3 | import { Link } from "react-scroll";
4 | import { Fade } from "react-reveal";
5 | import HomeData from "../data/HomeData";
6 |
7 | function Home() {
8 | return (
9 | <>
10 |
11 |
12 |
13 |
14 |
15 |
{HomeData.tag_line_1}
16 |
{HomeData.tag_line_2}
17 |
{HomeData.location}
18 |
19 |
26 | {HomeData.btn_1}
27 |
28 |
35 | {HomeData.btn_2}
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |

48 |
49 |
50 |
51 |
52 |
53 | >
54 | );
55 | }
56 |
57 | export default Home;
58 |
--------------------------------------------------------------------------------
/public/assets/icons/mongodb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/css/Work.css:
--------------------------------------------------------------------------------
1 | /* **************************** Work Comp Styles **************************** */
2 |
3 | section#work {
4 | margin: 8rem auto;
5 | position: relative;
6 | width: 100%;
7 | height: 100%;
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | background: var(--lightwhite);
12 | }
13 |
14 | section#work div.work {
15 | position: relative;
16 | padding: 4rem 10rem;
17 | }
18 |
19 | /* =================== Work Head =================== */
20 |
21 | section#work div.work .work_head {
22 | margin: 2rem auto;
23 | display: flex;
24 | justify-content: center;
25 | align-items: center;
26 | flex-direction: column;
27 | }
28 |
29 | section#work div.work .work_head span {
30 | margin: 0.5rem auto;
31 | padding: 0 1rem;
32 | font-size: 1.6rem;
33 | font-weight: 400;
34 | color: var(--darkblack);
35 | background: var(--lightyellow);
36 | text-align: center;
37 | }
38 |
39 | section#work div.work .work_head h1 {
40 | margin: 0.5rem auto;
41 | font-size: 4rem;
42 | font-weight: 600;
43 | color: var(--darkblack);
44 | text-align: center;
45 | }
46 |
47 | /* =================== Work Cards =================== */
48 |
49 | section#work div.work .work_content {
50 | margin: 2rem auto;
51 | display: flex;
52 | justify-content: center;
53 | align-items: center;
54 | flex-wrap: wrap;
55 | }
56 |
57 | section#work div.work .work_content .work_card {
58 | margin: 2rem auto;
59 | padding: 2rem 4rem;
60 | display: flex;
61 | justify-content: center;
62 | align-items: center;
63 | flex-direction: column;
64 | border-radius: 10px;
65 | transition: all 0.3s ease;
66 | }
67 |
68 | section#work div.work .work_content .work_card:hover {
69 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
70 | }
71 |
72 | section#work div.work .work_content .work_card span {
73 | margin: auto;
74 | font-size: 8rem;
75 | color: var(--lightyellow);
76 | text-align: center;
77 | }
78 |
79 | section#work div.work .work_content .work_card h2 {
80 | margin: 1.2rem auto 1rem;
81 | font-size: 2.4rem;
82 | font-weight: 600;
83 | color: var(--darkblack);
84 | text-align: center;
85 | }
86 |
87 | section#work div.work .work_content .work_card p {
88 | margin: 0.2rem auto 1rem;
89 | font-size: 1.6rem;
90 | font-weight: 400;
91 | color: var(--darkgrey);
92 | text-align: justify;
93 | text-align-last: center;
94 | line-height: 1.8;
95 | word-spacing: -1px;
96 | }
97 |
98 | /* **************************** Responsive Medias **************************** */
99 |
100 | @media (max-width: 1240px) {
101 | section#work div.work {
102 | padding: 4rem 2rem;
103 | }
104 | }
105 |
106 | @media (max-width: 992px) {
107 | section#work div.work .work_head h1 {
108 | font-size: 3.5rem;
109 | }
110 |
111 | section#work div.work .work_content .work_card span {
112 | font-size: 6rem;
113 | }
114 | }
115 |
116 | /* **************************** Styles Head **************************** */
117 |
--------------------------------------------------------------------------------
/src/pages/About.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/About.css";
3 | import Fade from "react-reveal/Fade";
4 | import Bounce from "react-reveal/Bounce";
5 | import RubberBand from "react-reveal/RubberBand";
6 | import AboutData from "../data/AboutData";
7 |
8 | function About() {
9 | return (
10 | <>
11 |
12 |
13 |
14 |
15 | {AboutData.about_head_tag}
16 |
{AboutData.about_head_title}
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Hi, I'm{" "}
25 | {AboutData.about_content_name}
26 |
27 |
{AboutData.about_content_desc}
28 |
29 |
30 |
31 |
32 |
33 |
34 | {AboutData.about_content_exp}
35 |
36 |
37 |
38 | Years of Experience
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
Name:
49 |
{AboutData.about_footer_name}
50 |
51 |
52 |
Email:
53 |
{AboutData.about_footer_email}
54 |
55 |
56 |
Date of Birth:
57 |
{AboutData.about_footer_dob}
58 |
59 |
60 |
From:
61 |
{AboutData.about_footer_place}
62 |
63 |
64 |
65 |
66 |
67 | >
68 | );
69 | }
70 |
71 | export default About;
72 |
--------------------------------------------------------------------------------
/src/components/Navbar.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState, useEffect } from "react";
2 | import { Link } from "react-scroll";
3 | import { NavLinkData, NavSocialData } from "../data/NavData";
4 | import "../css/Navbar.css";
5 |
6 | function Navbar() {
7 | const [isActive, setisActive] = useState(false);
8 | const [isScroll, setisScroll] = useState(0);
9 |
10 | useEffect(() => {
11 | window.addEventListener("scroll", () => {
12 | setisScroll(window.scrollY > 100);
13 | });
14 | }, []);
15 |
16 | return (
17 | <>
18 |
76 | >
77 | );
78 | }
79 |
80 | export default Navbar;
81 |
--------------------------------------------------------------------------------
/public/assets/icons/jquery.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/data/BioData.jsx:
--------------------------------------------------------------------------------
1 | const BioDataHead = {
2 | bio_head_tag: "Resume",
3 | bio_head_title: "A Summary of My Resume",
4 |
5 | bio_edu_sub_head: "My Education",
6 | bio_exp_sub_head: "My Experience",
7 | bio_skills_sub_head: "My Skills",
8 |
9 | bio_btn_1_text: "Downlaod CV",
10 | bio_btn_2_text: "Hire Me",
11 | };
12 |
13 | const BioDataEdu = [
14 | {
15 | id: 1,
16 | edu_course: "B.Tech in Electrical Engineering",
17 | edu_place: "JGEC / 2019 - Present",
18 | edu_desc:
19 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the dummy text.",
20 | },
21 | {
22 | id: 2,
23 | edu_course: "Senior Secondary Examination, (12)",
24 | edu_place: "MDB DAV, Bankura / 2017 - 2019",
25 | edu_desc:
26 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the dummy text.",
27 | },
28 | {
29 | id: 3,
30 | edu_course: "Secondary Examination, (10)",
31 | edu_place: "JNV, Purulia / 2013 - 2017",
32 | edu_desc:
33 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the dummy text.",
34 | },
35 | ];
36 |
37 | const BioDataExp = [
38 | {
39 | id: 1,
40 | exp_course: "Front End Developer",
41 | exp_place: "SAAC / 2021 - Current",
42 | exp_desc:
43 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the dummy text.",
44 | },
45 | {
46 | id: 2,
47 | exp_course: "Web Team",
48 | exp_place: "GDSC JGEC / 2021 - Current",
49 | exp_desc:
50 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the dummy text.",
51 | },
52 | {
53 | id: 3,
54 | exp_course: "UI/UX",
55 | exp_place: "Self Projects / 2019 - Current",
56 | exp_desc:
57 | "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the dummy text.",
58 | },
59 | ];
60 |
61 | const BioDataSkills = [
62 | {
63 | id: 1,
64 | skills_icon: "assets/icons/html.svg",
65 | skills_alt: "HTML",
66 | },
67 | {
68 | id: 2,
69 | skills_icon: "assets/icons/css.svg",
70 | skills_alt: "CSS",
71 | },
72 | {
73 | id: 3,
74 | skills_icon: "assets/icons/js.svg",
75 | skills_alt: "JS",
76 | },
77 | {
78 | id: 4,
79 | skills_icon: "assets/icons/react.svg",
80 | skills_alt: "React",
81 | },
82 | {
83 | id: 5,
84 | skills_icon: "assets/icons/jquery.svg",
85 | skills_alt: "Jquery",
86 | },
87 | {
88 | id: 6,
89 | skills_icon: "assets/icons/sass.svg",
90 | skills_alt: "Sass",
91 | },
92 | {
93 | id: 7,
94 | skills_icon: "assets/icons/nodejs.svg",
95 | skills_alt: "Node JS",
96 | },
97 | {
98 | id: 8,
99 | skills_icon: "assets/icons/php.svg",
100 | skills_alt: "PHP",
101 | },
102 | {
103 | id: 9,
104 | skills_icon: "assets/icons/mongodb.svg",
105 | skills_alt: "Mongo DB",
106 | },
107 | {
108 | id: 10,
109 | skills_icon: "assets/icons/git.svg",
110 | skills_alt: "Git",
111 | },
112 | {
113 | id: 11,
114 | skills_icon: "assets/icons/svg.svg",
115 | skills_alt: "SVG",
116 | },
117 | ];
118 |
119 | export { BioDataHead, BioDataEdu, BioDataExp, BioDataSkills };
120 |
--------------------------------------------------------------------------------
/src/css/Home.css:
--------------------------------------------------------------------------------
1 | /* **************************** Home Comp Styles **************************** */
2 |
3 | section#home {
4 | position: relative;
5 | width: 100%;
6 | height: 100vh;
7 | display: flex;
8 | justify-content: center;
9 | align-items: center;
10 | background: var(--lightyellow);
11 | overflow-x: hidden;
12 | }
13 |
14 | section#home div.home {
15 | position: relative;
16 | padding: 4rem 8rem;
17 | }
18 |
19 | section#home div.home .biodata,
20 | section#home div.home .bioimg {
21 | margin: 1rem auto;
22 | display: flex;
23 | justify-content: center;
24 | align-items: flex-start;
25 | flex-direction: column;
26 | }
27 |
28 | section#home div.home h1 {
29 | font-size: 5rem;
30 | font-weight: 300;
31 | color: var(--darkblack);
32 | text-transform: uppercase;
33 | line-height: 1.5;
34 | }
35 |
36 | section#home div.home h2 {
37 | font-size: 9rem;
38 | font-weight: 600;
39 | color: var(--darkblack);
40 | text-transform: uppercase;
41 | line-height: 1;
42 | }
43 |
44 | section#home div.home p {
45 | font-size: 2.2rem;
46 | font-weight: 400;
47 | color: var(--darkblack);
48 | line-height: 3;
49 | }
50 |
51 | section#home div.home span {
52 | margin: 2rem 0;
53 | }
54 |
55 | section#home div.home span .btn {
56 | padding: 1.2rem 4rem;
57 | font-size: 1.6rem;
58 | font-weight: 500;
59 | letter-spacing: 0.5px;
60 | }
61 |
62 | section#home div.home span .btn:nth-child(1) {
63 | color: var(--darkwhite);
64 | background: var(--btnBg);
65 | border: 2px solid var(--btnBg);
66 | box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
67 | transition: all 0.4s ease;
68 | }
69 |
70 | section#home div.home span .btn:nth-child(1):hover {
71 | background: var(--btnBgHover);
72 | border: 2px solid var(--btnBgHover);
73 | box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.25);
74 | }
75 |
76 | section#home div.home span .btn:nth-child(2) {
77 | font-size: 1.8rem;
78 | transition: all 0.4s ease;
79 | }
80 |
81 | section#home div.home span .btn:nth-child(2):hover {
82 | text-decoration: underline;
83 | }
84 |
85 | section#home div.home img {
86 | border-radius: 50%;
87 | border: 1.5rem solid var(--lightwhite);
88 | box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.15);
89 | }
90 |
91 | /* **************************** Responsive Medias **************************** */
92 |
93 | @media (max-width: 1240px) {
94 | section#home div.home {
95 | padding: 4rem 1rem;
96 | }
97 | }
98 |
99 | @media (max-width: 992px) {
100 | section#home {
101 | height: 100%;
102 | padding: 10rem 2rem 2rem;
103 | }
104 |
105 | section#home div.home .bioimg {
106 | align-items: center;
107 | }
108 |
109 | section#home div.home img {
110 | width: 50%;
111 | }
112 | }
113 |
114 | @media (max-width: 768px) {
115 | section#home div.home h1 {
116 | font-size: 4rem;
117 | }
118 | section#home div.home h2 {
119 | font-size: 7rem;
120 | }
121 | section#home div.home p {
122 | font-size: 2rem;
123 | }
124 | }
125 |
126 | @media (max-width: 472px) {
127 | section#home div.home p {
128 | line-height: 2;
129 | }
130 | section#home div.home span .btn {
131 | padding: 1.2rem 2rem;
132 | }
133 | section#home div.home img {
134 | width: 80%;
135 | border: 1rem solid var(--lightwhite);
136 | }
137 | }
138 |
139 | @media (max-width: 366px) {
140 | section#home div.home h1 {
141 | font-size: 3.5rem;
142 | }
143 | section#home div.home h2 {
144 | font-size: 6rem;
145 | }
146 | }
147 |
148 | /* **************************** Styles End **************************** */
149 |
--------------------------------------------------------------------------------
/src/css/Projects.css:
--------------------------------------------------------------------------------
1 | /* **************************** Projects Comp Styles **************************** */
2 |
3 | section#projects {
4 | margin: 6rem auto;
5 | position: relative;
6 | width: 100%;
7 | height: 100%;
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | background: var(--lightwhite);
12 | }
13 |
14 | section#projects div.projects {
15 | position: relative;
16 | padding: 4rem 1rem;
17 | }
18 |
19 | /* =================== Projects Head =================== */
20 |
21 | section#projects div.projects .projects_head {
22 | margin: 2rem auto;
23 | display: flex;
24 | justify-content: center;
25 | align-items: center;
26 | flex-direction: column;
27 | }
28 |
29 | section#projects div.projects .projects_head span {
30 | margin: 0.5rem auto;
31 | padding: 0 1rem;
32 | font-size: 1.6rem;
33 | font-weight: 400;
34 | color: var(--darkblack);
35 | background: var(--lightyellow);
36 | text-align: center;
37 | }
38 |
39 | section#projects div.projects .projects_head h1 {
40 | margin: 0.5rem auto;
41 | font-size: 4rem;
42 | font-weight: 600;
43 | color: var(--darkblack);
44 | text-align: center;
45 | }
46 |
47 | /* =================== Projects Cards =================== */
48 |
49 | section#projects div.projects .projects_content {
50 | margin: 2rem auto;
51 | display: flex;
52 | justify-content: center;
53 | align-items: center;
54 | flex-wrap: wrap;
55 | }
56 |
57 | /* ============== Project Card ============== */
58 |
59 | section#projects div.projects .projects_content .projects_card {
60 | position: relative;
61 | margin: 2rem;
62 | display: flex;
63 | justify-content: center;
64 | align-items: center;
65 | border-radius: 8px;
66 | overflow: hidden;
67 | box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
68 | }
69 |
70 | section#projects div.projects .projects_content .projects_card img {
71 | margin: 0;
72 | width: 45rem;
73 | height: auto;
74 | transition: all 0.3s ease;
75 | }
76 |
77 | section#projects div.projects .projects_content .projects_card:hover img {
78 | transform: scale(1.15);
79 | }
80 |
81 | section#projects div.projects .projects_content .projects_card a.info {
82 | position: absolute;
83 | width: 100%;
84 | height: 100%;
85 | display: flex;
86 | justify-content: center;
87 | align-items: center;
88 | flex-direction: column;
89 | backdrop-filter: blur(4px);
90 | text-decoration: none;
91 | opacity: 0;
92 | transition: all 0.6s ease;
93 | }
94 |
95 | section#projects div.projects .projects_content .projects_card a.info_dark {
96 | background: rgba(0, 0, 0, 0.3);
97 | }
98 | section#projects div.projects .projects_content .projects_card a.info_light {
99 | background: rgba(0, 0, 0, 0.7);
100 | }
101 |
102 | section#projects div.projects .projects_content .projects_card a.info span {
103 | font-size: 4rem;
104 | color: var(--lightyellow);
105 | text-align: center;
106 | opacity: 0;
107 | transition: all 0.4s ease;
108 | }
109 |
110 | section#projects div.projects .projects_content .projects_card a.info h4 {
111 | font-size: 2.5rem;
112 | font-weight: 500;
113 | color: var(--darkwhite);
114 | line-height: 1.2;
115 | letter-spacing: 0.5px;
116 | text-align: center;
117 | opacity: 0;
118 | transition: all 0.4s ease;
119 | }
120 |
121 | section#projects div.projects .projects_card a.info h4:hover {
122 | color: var(--lightyellow);
123 | }
124 |
125 | section#projects div.projects .projects_card:hover a.info,
126 | section#projects div.projects .projects_card:hover a.info span,
127 | section#projects div.projects .projects_card:hover a.info h4 {
128 | opacity: 1;
129 | }
130 |
131 | /* **************************** Responsive Medias **************************** */
132 |
133 | @media (max-width: 992px) {
134 | section#projects div.projects .projects_head h1 {
135 | font-size: 3.5rem;
136 | }
137 | }
138 |
139 | @media (max-width: 472px) {
140 | section#projects div.projects .projects_content .projects_card img {
141 | width: 40rem;
142 | }
143 | }
144 |
145 | /* **************************** Styles End **************************** */
146 |
--------------------------------------------------------------------------------
/public/assets/icons/sass.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/pages/Contact.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "../css/Contact.css";
3 | import ContactData from "../data/ContactData";
4 |
5 | function Contact() {
6 | return (
7 | <>
8 |
95 | >
96 | );
97 | }
98 |
99 | export default Contact;
100 |
--------------------------------------------------------------------------------
/src/css/About.css:
--------------------------------------------------------------------------------
1 | /* **************************** About Comp Styles **************************** */
2 |
3 | section#about {
4 | margin: 5rem auto;
5 | position: relative;
6 | width: 100%;
7 | height: 100%;
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | }
12 |
13 | section#about div.about {
14 | position: relative;
15 | padding: 4rem 6rem;
16 | }
17 |
18 | /* =================== About Head =================== */
19 |
20 | section#about div.about .about_head {
21 | margin: 2rem auto;
22 | display: flex;
23 | justify-content: center;
24 | align-items: center;
25 | flex-direction: column;
26 | }
27 |
28 | section#about div.about .about_head span {
29 | margin: 0.5rem auto;
30 | padding: 0 1rem;
31 | font-size: 1.6rem;
32 | font-weight: 400;
33 | color: var(--darkblack);
34 | background: var(--lightyellow);
35 | text-align: center;
36 | }
37 |
38 | section#about div.about .about_head h1 {
39 | margin: 0.5rem auto;
40 | font-size: 4rem;
41 | font-weight: 600;
42 | color: var(--darkblack);
43 | text-align: center;
44 | }
45 |
46 | /* =================== About Content =================== */
47 |
48 | section#about div.about .about_content {
49 | margin: 5rem auto;
50 | display: flex;
51 | justify-content: center;
52 | align-items: flex-start;
53 | flex-direction: row;
54 | }
55 |
56 | section#about div.about .about_content h2 {
57 | margin: 0.5rem auto;
58 | font-size: 3.5rem;
59 | font-weight: 400;
60 | color: var(--darkblack);
61 | }
62 |
63 | section#about div.about .about_content h2 span {
64 | position: relative;
65 | font-weight: 600;
66 | border-bottom: 4px solid var(--lightyellow);
67 | }
68 |
69 | section#about div.about .about_content p {
70 | margin: 2rem auto;
71 | font-size: 2.5rem;
72 | font-weight: 400;
73 | color: var(--darkblack);
74 | line-height: 1.8;
75 | }
76 |
77 | section#about div.about .about_content .exp {
78 | display: flex;
79 | justify-content: center;
80 | align-items: center;
81 | flex-direction: column;
82 | }
83 |
84 | section#about div.about .about_content .exp h4 {
85 | position: relative;
86 | margin: auto;
87 | font-size: 15rem;
88 | font-weight: 500;
89 | color: var(--lightblack);
90 | }
91 |
92 | section#about div.about .about_content .exp h4::after {
93 | content: "";
94 | position: absolute;
95 | top: 50%;
96 | left: 50%;
97 | transform: translate(-50%, -50%);
98 | width: 10rem;
99 | height: 10rem;
100 | border-radius: 50%;
101 | background: var(--lightyellow);
102 | z-index: -1;
103 | }
104 |
105 | section#about div.about .about_content .exp h6 {
106 | margin: 1rem auto;
107 | font-size: 2.8rem;
108 | font-weight: 500;
109 | color: var(--darkblack);
110 | }
111 |
112 | section#about div.about .about_content .exp h6 span {
113 | font-weight: 700;
114 | }
115 |
116 | /* =================== About Footer =================== */
117 |
118 | section#about div.about .about_footer {
119 | padding: 0 2rem;
120 | display: flex;
121 | justify-content: flex-start;
122 | align-items: center;
123 | }
124 |
125 | section#about div.about .about_footer span {
126 | margin: auto;
127 | font-size: 1.7rem;
128 | font-weight: 500;
129 | color: var(--darkgrey);
130 | }
131 |
132 | section#about div.about .about_footer p {
133 | margin: auto;
134 | font-size: 1.9rem;
135 | font-weight: 600;
136 | color: var(--lightblack);
137 | }
138 |
139 | /* **************************** Responsive Medias **************************** */
140 |
141 | @media (max-width: 1240px) {
142 | section#about div.about {
143 | padding: 4rem 2rem;
144 | }
145 | }
146 |
147 | @media (max-width: 992px) {
148 | section#about div.about .about_head h1 {
149 | font-size: 3.5rem;
150 | }
151 |
152 | section#about div.about .about_content h2 {
153 | font-size: 3rem;
154 | }
155 | section#about div.about .about_content p {
156 | font-size: 2rem;
157 | text-align: justify;
158 | }
159 |
160 | section#about div.about .about_content .exp h4 {
161 | font-size: 10rem;
162 | }
163 | section#about div.about .about_content .exp h4::after {
164 | width: 5rem;
165 | height: 5rem;
166 | }
167 | section#about div.about .about_content .exp h6 {
168 | font-size: 2.5rem;
169 | }
170 | }
171 |
172 | /* **************************** Styles End **************************** */
173 |
--------------------------------------------------------------------------------
/src/css/Contact.css:
--------------------------------------------------------------------------------
1 | /* **************************** Conatct Comp Styles **************************** */
2 |
3 | section#contact {
4 | margin: 5rem auto 0;
5 | position: relative;
6 | width: 100%;
7 | height: 100%;
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | background: var(--lightyellow);
12 | }
13 |
14 | section#contact div.contact {
15 | position: relative;
16 | padding: 8rem 10rem;
17 | }
18 |
19 | /* =================== Contact Content =================== */
20 |
21 | section#contact div.contact .content {
22 | position: relative;
23 | padding-left: 5rem;
24 | }
25 |
26 | section#contact div.contact .content h2 {
27 | margin: 1rem 0;
28 | font-size: 3.8rem;
29 | font-weight: 600;
30 | color: var(--darkblack);
31 | letter-spacing: 0.5px;
32 | }
33 |
34 | section#contact div.contact .content p {
35 | margin: 4rem 0;
36 | padding-right: 2rem;
37 | font-size: 2rem;
38 | font-weight: 400;
39 | color: var(--darkblack);
40 | line-height: 1.5;
41 | }
42 |
43 | section#contact div.contact .content h4 {
44 | margin: 4rem 0;
45 | font-size: 2rem;
46 | font-weight: 600;
47 | color: var(--darkblack);
48 | letter-spacing: 0.5px;
49 | line-height: 1.5;
50 | }
51 |
52 | section#contact div.contact .content h4 span {
53 | display: block;
54 | margin: 0.5rem 0;
55 | font-weight: 400;
56 | }
57 |
58 | section#contact div.contact .content ul {
59 | margin: 5rem 0;
60 | padding: 0;
61 | display: flex;
62 | justify-content: flex-start;
63 | align-items: center;
64 | align-content: center;
65 | list-style: none;
66 | }
67 |
68 | section#contact div.contact .content ul a {
69 | margin-right: 2rem;
70 | font-size: 3rem;
71 | color: var(--lightblack);
72 | text-align: center;
73 | transition: all 0.2s ease;
74 | }
75 |
76 | section#contact div.contact .content ul a:hover {
77 | color: var(--darkblack);
78 | transform: scale(1.15);
79 | }
80 |
81 | /* =================== Contact Form =================== */
82 |
83 | section#contact div.contact .form {
84 | position: relative;
85 | padding-left: 10rem;
86 | }
87 |
88 | section#contact div.contact .form h2 {
89 | margin: 1rem 0;
90 | font-size: 3.8rem;
91 | font-weight: 600;
92 | color: var(--darkblack);
93 | letter-spacing: 0.5px;
94 | }
95 |
96 | section#contact div.contact form .form-group {
97 | margin: 3rem 0;
98 | }
99 |
100 | section#contact div.contact form label {
101 | margin: 0.5rem 0;
102 | font-size: 1.6rem;
103 | font-weight: 400;
104 | color: var(--darkblack);
105 | }
106 |
107 | section#contact div.contact form input,
108 | section#contact div.contact form textarea {
109 | margin: 0;
110 | padding: 0.5rem 0;
111 | font-size: 2rem;
112 | font-weight: 400;
113 | color: var(--darkblack);
114 | background: transparent;
115 | border: none;
116 | border-bottom: 2.5px solid rgba(0, 0, 0, 0.15);
117 | border-radius: 0;
118 | box-shadow: none;
119 | transition: all 0.2s ease;
120 | }
121 |
122 | section#contact div.contact form input:focus,
123 | section#contact div.contact form textarea:focus {
124 | box-shadow: none;
125 | border-bottom: 2.5px solid var(--darkblack);
126 | }
127 |
128 | section#contact div.contact form button.btn-submit {
129 | margin: auto;
130 | padding: 1rem 4rem;
131 | font-size: 1.8rem;
132 | font-weight: 500;
133 | color: var(--darkwhite);
134 | background: var(--btnBg);
135 | box-shadow: 0px 5px 15px rgb(0, 0, 0, 0.15);
136 | transition: all 0.2s ease;
137 | }
138 |
139 | section#contact div.contact form button.btn-submit:hover {
140 | background: var(--btnBgHover);
141 | }
142 |
143 | /* **************************** Responsive Medias **************************** */
144 |
145 | @media (max-width: 1240px) {
146 | section#contact div.contact {
147 | padding: 8rem 2rem;
148 | }
149 |
150 | section#contact div.contact .content h2,
151 | section#contact div.contact .form h2 {
152 | font-size: 3.4rem;
153 | }
154 | }
155 |
156 | @media (max-width: 992px) {
157 | section#contact div.contact .content,
158 | section#contact div.contact .form {
159 | margin: auto;
160 | padding: 1rem;
161 | }
162 |
163 | section#contact div.contact .content p,
164 | section#contact div.contact .content h4 {
165 | margin: 2rem 0;
166 | }
167 | section#contact div.contact .content ul {
168 | margin: 3rem 0;
169 | }
170 | }
171 |
172 | /* **************************** Styles End **************************** */
173 |
--------------------------------------------------------------------------------
/src/data/ProjectsData.jsx:
--------------------------------------------------------------------------------
1 | import { CgUserlane } from "react-icons/cg";
2 | import {
3 | IoLayers,
4 | IoTelescope,
5 | IoFastFood,
6 | IoHappyOutline,
7 | IoCodeSlash,
8 | IoDesktopOutline,
9 | IoLogoGithub,
10 | IoLibrary,
11 | IoLogoReact,
12 | IoRestaurant,
13 | IoDocumentText,
14 | IoHourglassOutline,
15 | } from "react-icons/io5";
16 |
17 | const ProjectsData = {
18 | projects_head_tag: "Portfolio",
19 | projects_head_title: "Some of my cool projects",
20 | };
21 |
22 | const ProjectsCardData = [
23 | {
24 | id: 1,
25 | project_img: "assets/projects/web1.png",
26 | project_alt: "Web 1",
27 | project_icon: ,
28 | project_title: "Portfolio",
29 | project_link: "https://imniladri.in/",
30 | project_bg: "info info_dark",
31 | },
32 | {
33 | id: 2,
34 | project_img: "assets/projects/web2.png",
35 | project_alt: "Web 2",
36 | project_icon: ,
37 | project_title: "Projects",
38 | project_link: "https://imniladri.github.io/",
39 | project_bg: "info info_dark",
40 | },
41 | {
42 | id: 3,
43 | project_img: "assets/projects/web3.png",
44 | project_alt: "Web 3",
45 | project_icon: ,
46 | project_title: "SAAC",
47 | project_link: "https://saacjgec.vercel.app/",
48 | project_bg: "info info_dark",
49 | },
50 | {
51 | id: 4,
52 | project_img: "assets/projects/web4.png",
53 | project_alt: "Web 4",
54 | project_icon: ,
55 | project_title: "Food Mate",
56 | project_link: "https://foodmate.vercel.app/",
57 | project_bg: "info info_light",
58 | },
59 | {
60 | id: 5,
61 | project_img: "assets/projects/web5.png",
62 | project_alt: "Web 5",
63 | project_icon: ,
64 | project_title: "We Are 8",
65 | project_link: "https://weare8.vercel.app/",
66 | project_bg: "info info_light",
67 | },
68 | {
69 | id: 6,
70 | project_img: "assets/projects/web6.png",
71 | project_alt: "Web 6",
72 | project_icon: ,
73 | project_title: "Dev Hub",
74 | project_link: "https://devohub.vercel.app/",
75 | project_bg: "info info_dark",
76 | },
77 | {
78 | id: 7,
79 | project_img: "assets/projects/web7.png",
80 | project_alt: "Web 7",
81 | project_icon: ,
82 | project_title: "Education",
83 | project_link: "https://edulearn.vercel.app/",
84 | project_bg: "info info_light",
85 | },
86 | {
87 | id: 8,
88 | project_img: "assets/projects/web8.png",
89 | project_alt: "Web 8",
90 | project_icon: ,
91 | project_title: "Git Card",
92 | project_link: "https://gitog.vercel.app/",
93 | project_bg: "info info_dark",
94 | },
95 | {
96 | id: 9,
97 | project_img: "assets/projects/web9.png",
98 | project_alt: "Web 9",
99 | project_icon: ,
100 | project_title: "A'Library",
101 | project_link: "https://alibrary.vercel.app/",
102 | project_bg: "info info_light",
103 | },
104 | {
105 | id: 10,
106 | project_img: "assets/projects/web10.png",
107 | project_alt: "Web 10",
108 | project_icon: ,
109 | project_title: "React",
110 | project_link: "https://react-portfolio-imniladri.vercel.app/",
111 | project_bg: "info info_light",
112 | },
113 | {
114 | id: 11,
115 | project_img: "assets/projects/web11.png",
116 | project_alt: "Web 11",
117 | project_icon: ,
118 | project_title: "Restaurant",
119 | project_link: "https://restora.vercel.app/",
120 | project_bg: "info info_dark",
121 | },
122 | {
123 | id: 12,
124 | project_img: "assets/projects/web12.png",
125 | project_alt: "Web 12",
126 | project_icon: ,
127 | project_title: "PDF Chest UI",
128 | project_link: "https://pdfchestui.vercel.app/",
129 | project_bg: "info info_light",
130 | },
131 | {
132 | id: 13,
133 | project_img: "assets/projects/web13.png",
134 | project_alt: "Web 13",
135 | project_icon: ,
136 | project_title: "Timescape",
137 | project_link: "https://timescape.vercel.app/",
138 | project_bg: "info info_dark",
139 | },
140 | ];
141 |
142 | export { ProjectsData, ProjectsCardData };
143 |
--------------------------------------------------------------------------------
/src/css/Biodata.css:
--------------------------------------------------------------------------------
1 | /* **************************** Biodata Comp Styles **************************** */
2 |
3 | section#biodata {
4 | margin: 6rem auto;
5 | position: relative;
6 | width: 100%;
7 | height: 100%;
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | }
12 |
13 | section#biodata div.biodata {
14 | position: relative;
15 | padding: 4rem 8rem;
16 | }
17 |
18 | /* =================== Biodata Head =================== */
19 |
20 | section#biodata div.biodata .biodata_head {
21 | margin: 2rem auto;
22 | display: flex;
23 | justify-content: center;
24 | align-items: center;
25 | flex-direction: column;
26 | }
27 |
28 | section#biodata div.biodata .biodata_head span {
29 | margin: 0.5rem auto;
30 | padding: 0 1rem;
31 | font-size: 1.6rem;
32 | font-weight: 400;
33 | color: var(--darkblack);
34 | background: var(--lightyellow);
35 | text-align: center;
36 | }
37 |
38 | section#biodata div.biodata .biodata_head h1 {
39 | margin: 0.5rem auto;
40 | font-size: 4rem;
41 | font-weight: 600;
42 | color: var(--darkblack);
43 | text-align: center;
44 | }
45 |
46 | /* =================== Biodata Content =================== */
47 |
48 | section#biodata div.biodata .biodata_timeline {
49 | padding: 2rem;
50 | display: flex;
51 | justify-content: center;
52 | align-items: center;
53 | }
54 |
55 | section#biodata div.biodata .biodata_timeline h2 {
56 | margin: 3rem 0 1rem;
57 | font-size: 3rem;
58 | font-weight: 600;
59 | color: var(--darkblack);
60 | }
61 |
62 | section#biodata div.biodata .biodata_timeline .biodata_sub {
63 | margin: 4rem auto;
64 | padding: 0 2rem;
65 | border-left: 3px solid var(--lightyellow);
66 | }
67 |
68 | /* =================== Biodata Card =================== */
69 |
70 | div.biodata_timeline div.biodata_sub .bio_card h4 {
71 | margin: auto;
72 | margin-bottom: 1rem;
73 | font-size: 2.2rem;
74 | font-weight: 500;
75 | color: var(--darkblack);
76 | }
77 |
78 | div.biodata_timeline div.biodata_sub .bio_card span {
79 | margin: auto;
80 | margin-bottom: 1rem;
81 | font-size: 1.8rem;
82 | font-weight: 400;
83 | color: var(--darkblack);
84 | }
85 |
86 | div.biodata_timeline div.biodata_sub .bio_card p {
87 | margin: 1rem auto 1.5rem;
88 | font-size: 1.6rem;
89 | font-weight: 400;
90 | color: var(--darkgrey);
91 | line-height: 1.8;
92 | word-spacing: -2px;
93 | }
94 |
95 | div.biodata_timeline div.biodata_sub .bio_card hr {
96 | margin: 3rem 0;
97 | width: 100%;
98 | height: 0.5px;
99 | background: rgba(0, 0, 0, 0.4);
100 | }
101 |
102 | /* =================== Biodata Skills =================== */
103 |
104 | section#biodata div.biodata .biodata_skills {
105 | position: relative;
106 | margin: 2rem auto;
107 | display: flex;
108 | justify-content: center;
109 | align-items: center;
110 | flex-direction: column;
111 | }
112 |
113 | section#biodata div.biodata .biodata_skills h2 {
114 | margin: 2rem auto;
115 | font-size: 4rem;
116 | font-weight: 600;
117 | color: var(--darkblack);
118 | border-bottom: 4px solid var(--lightyellow);
119 | }
120 |
121 | section#biodata div.biodata .biodata_skills button.btn {
122 | margin: 2rem auto;
123 | padding: 1.2rem 4rem;
124 | font-size: 1.6rem;
125 | font-weight: 500;
126 | letter-spacing: 0.5px;
127 | color: var(--btnBg);
128 | background: var(--darkwhite);
129 | border: 3px solid var(--btnBg);
130 | transition: all 0.4s ease;
131 | }
132 |
133 | section#biodata div.biodata .biodata_skills button.btn:hover {
134 | color: var(--darkwhite);
135 | background: var(--btnBg);
136 | }
137 |
138 | section#biodata div.biodata .biodata_skills .skills_wrapper {
139 | margin: 2rem auto;
140 | display: flex;
141 | justify-content: center;
142 | align-items: center;
143 | flex-wrap: wrap;
144 | }
145 |
146 | section#biodata div.biodata .skills_wrapper .skill {
147 | margin: 2rem;
148 | padding: 1rem;
149 | border-radius: 5px;
150 | transition: all 0.3s ease;
151 | }
152 |
153 | section#biodata div.biodata .skills_wrapper .skill:hover {
154 | box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
155 | }
156 |
157 | section#biodata div.biodata .skills_wrapper .skill img {
158 | width: 7rem;
159 | height: auto;
160 | }
161 |
162 | /* **************************** Responsive Medias **************************** */
163 |
164 | @media (max-width: 1240px) {
165 | section#biodata div.biodata {
166 | padding: 4rem 2rem;
167 | }
168 | }
169 |
170 | @media (max-width: 992px) {
171 | section#biodata div.biodata .biodata_head h1 {
172 | font-size: 3.5rem;
173 | }
174 |
175 | section#biodata div.biodata .biodata_skills h2 {
176 | font-size: 3.5rem;
177 | }
178 | }
179 |
180 | /* **************************** Styles End **************************** */
181 |
--------------------------------------------------------------------------------
/src/css/Navbar.css:
--------------------------------------------------------------------------------
1 | /* **************************** Navbar Styles **************************** */
2 |
3 | header {
4 | position: fixed;
5 | top: 0;
6 | z-index: 10;
7 | width: 100%;
8 | padding: 1rem 10rem;
9 | background: var(--lightyellow);
10 | display: flex;
11 | justify-content: space-between;
12 | align-items: center;
13 | transition: all 0.2s ease;
14 | }
15 |
16 | header.scrolled {
17 | background: var(--darkblack);
18 | }
19 |
20 | /* **************************** Header Logo **************************** */
21 |
22 | header a {
23 | display: inline-flex;
24 | justify-content: center;
25 | align-items: center;
26 | text-decoration: none;
27 | }
28 |
29 | header a img {
30 | margin: auto 0.2rem;
31 | width: 3.5rem;
32 | height: auto;
33 | }
34 |
35 | header.scrolled a img {
36 | filter: invert(1);
37 | }
38 |
39 | header a h2 {
40 | margin: auto 0.2rem;
41 | font-size: 2.5rem;
42 | font-weight: 600;
43 | color: var(--darkblack);
44 | }
45 |
46 | header.scrolled a h2 {
47 | color: var(--darkwhite);
48 | }
49 |
50 | /* **************************** Header Navbar **************************** */
51 |
52 | header nav {
53 | position: fixed;
54 | top: 0;
55 | right: 0;
56 | z-index: 10;
57 | width: 100%;
58 | height: 100vh;
59 | display: flex;
60 | justify-content: center;
61 | align-items: center;
62 | flex-direction: column;
63 | background: rgba(0, 0, 0, 0.9);
64 | opacity: 0;
65 | visibility: hidden;
66 | transition: all 0.3s ease;
67 | }
68 |
69 | header nav.active {
70 | opacity: 1;
71 | visibility: visible;
72 | }
73 |
74 | /* ================= Nav Links ================= */
75 | header nav div.nav_menu {
76 | margin: 1rem auto;
77 | display: flex;
78 | justify-content: center;
79 | align-items: center;
80 | flex-direction: column;
81 | transform: translateY(-10%);
82 | transition: all 0.3s ease;
83 | }
84 |
85 | header nav.active div.nav_menu {
86 | transform: translateY(0%);
87 | }
88 |
89 | header nav div.nav_menu a.btn {
90 | margin: 0.5rem auto;
91 | font-size: 2.5rem;
92 | font-weight: 600;
93 | color: var(--darkwhite);
94 | letter-spacing: 1px;
95 | transition: all 0.3s ease;
96 | }
97 |
98 | header nav div.nav_menu a.btn:hover,
99 | header nav div.nav_menu a.btn.active {
100 | color: var(--lightyellow);
101 | }
102 |
103 | /* ================= Social Links ================= */
104 | header nav div.social_link {
105 | margin: 1rem auto;
106 | display: flex;
107 | justify-content: center;
108 | align-items: center;
109 | flex-direction: row;
110 | flex-wrap: wrap;
111 | transform: scaleX(0);
112 | transition: all 0.3s ease;
113 | }
114 |
115 | header nav.active div.social_link {
116 | transform: scaleX(1);
117 | }
118 |
119 | header nav div.social_link a.btn {
120 | margin: 0.5rem;
121 | font-size: 3rem;
122 | color: var(--darkwhite);
123 | transition: all 0.3s ease;
124 | }
125 |
126 | header nav div.social_link a.btn:hover {
127 | color: var(--lightyellow);
128 | transform: scale(1.2);
129 | }
130 |
131 | /* **************************** Header Menu **************************** */
132 |
133 | header div.menu_btn {
134 | position: relative;
135 | display: flex;
136 | justify-content: center;
137 | align-items: center;
138 | width: 4rem;
139 | height: 4rem;
140 | cursor: pointer;
141 | z-index: 20;
142 | }
143 |
144 | /* ================== Menu Open ================== */
145 | header div.menu_btn span.box {
146 | position: absolute;
147 | width: 1.2rem;
148 | height: 1.2rem;
149 | background: var(--darkblack);
150 | border-radius: 2px;
151 | transition: all 0.3s ease;
152 | }
153 |
154 | header.scrolled div.menu_btn span.box {
155 | background: var(--darkwhite);
156 | }
157 |
158 | header div.menu_btn span.box-1 {
159 | top: 0.6rem;
160 | left: 0.6rem;
161 | }
162 |
163 | header div.menu_btn span.box-2 {
164 | top: 0.6rem;
165 | right: 0.6rem;
166 | }
167 |
168 | header div.menu_btn span.box-3 {
169 | bottom: 0.6rem;
170 | left: 0.6rem;
171 | }
172 |
173 | header div.menu_btn span.box-4 {
174 | bottom: 0.6rem;
175 | right: 0.6rem;
176 | }
177 |
178 | header div.menu_btn.active span.box {
179 | top: 50%;
180 | left: 50%;
181 | transform: translate(-50%, -50%) scale(0);
182 | background: var(--darkwhite);
183 | }
184 |
185 | /* ================== Menu Close ================== */
186 | header div.menu_btn span.cross {
187 | position: absolute;
188 | width: 3.6rem;
189 | height: 0.4rem;
190 | background: var(--darkblack);
191 | border-radius: 2px;
192 | transition: all 0.3s ease;
193 | }
194 |
195 | header.scrolled div.menu_btn span.cross {
196 | background: var(--darkwhite);
197 | }
198 |
199 | header div.menu_btn span.cross-1 {
200 | transform: rotate(45deg) scaleX(0);
201 | }
202 |
203 | header div.menu_btn span.cross-2 {
204 | transform: rotate(-45deg) scaleX(0);
205 | }
206 |
207 | header div.menu_btn.active span.cross {
208 | background: var(--darkwhite);
209 | }
210 |
211 | header div.menu_btn.active span.cross-1 {
212 | transform: rotate(45deg) scaleX(1);
213 | }
214 |
215 | header div.menu_btn.active span.cross-2 {
216 | transform: rotate(-45deg) scaleX(1);
217 | }
218 |
219 | /* **************************** Responsive Medias **************************** */
220 |
221 | @media (max-width: 992px) {
222 | header {
223 | padding: 2rem 4rem;
224 | }
225 | }
226 |
227 | @media (max-width: 768px) {
228 | header {
229 | padding: 2rem;
230 | }
231 | }
232 |
233 | /* **************************** Styles End **************************** */
234 |
--------------------------------------------------------------------------------