patch: Minor additions + fixes

This commit is contained in:
Jyotirmoy Bandyopadhayaya 2023-06-12 13:33:13 +05:30
parent 3cfd002c42
commit 451094dbda
Signed by: bravo68web
GPG Key ID: F5671FD7BCB9917A
92 changed files with 9202 additions and 8921 deletions

6
.prettierrc Normal file
View File

@ -0,0 +1,6 @@
{
"tabWidth": 4,
"arrowParens": "always",
"semi": true,
"useTabs": true
}

View File

@ -14,7 +14,9 @@ function about() {
<div <div
className="lang-map-element" className="lang-map-element"
key={lang} key={lang}
style={{ backgroundColor: lang[Object.keys(lang)[0]] }} style={{
backgroundColor: lang[Object.keys(lang)[0]],
}}
> >
#{Object.keys(lang)[0].toString()} #{Object.keys(lang)[0].toString()}
</div> </div>

View File

@ -13,7 +13,10 @@ export default function Buymeacoffee() {
script.setAttribute("data-name", "BMC-Widget"); script.setAttribute("data-name", "BMC-Widget");
script.setAttribute("data-cfasync", "false"); script.setAttribute("data-cfasync", "false");
script.setAttribute("data-id", "bravo68web"); script.setAttribute("data-id", "bravo68web");
script.setAttribute("data-description", "Support me on Buy me a coffee!"); script.setAttribute(
"data-description",
"Support me on Buy me a coffee!"
);
script.setAttribute( script.setAttribute(
"data-message", "data-message",
"Buying a single coffee for me is 1000 times worth than a Thankyou " "Buying a single coffee for me is 1000 times worth than a Thankyou "

View File

@ -32,15 +32,18 @@ function Contact() {
<u>Contact Me</u> <u>Contact Me</u>
</h1> </h1>
<p> <p>
If you have any questions, feel free to contact me. I am always If you have any questions, feel free to contact
open to discussing new projects and opportunities. me. I am always open to discussing new projects
and opportunities.
</p> </p>
<br /> <br />
<p> <p>
<h3> <h3>
<strong>Email:</strong> <strong>Email:</strong>
</h3> </h3>
<a href="mailto:me@bravo68web.me">me@bravo68web.me</a> <a href="mailto:me@bravo68web.me">
me@bravo68web.me
</a>
</p> </p>
<br /> <br />
<p> <p>
@ -63,7 +66,9 @@ function Contact() {
<h3> <h3>
<strong>Extra:</strong> <strong>Extra:</strong>
</h3> </h3>
<a href="https://calendly.com/bravo68web">Calendly</a> <a href="https://calendly.com/bravo68web">
Calendly
</a>
</p> </p>
</div> </div>
</div> </div>

View File

@ -13,8 +13,8 @@ export const ContactStyle = styled.div`
background-repeat: no-repeat; background-repeat: no-repeat;
body { body {
background: #2d3b36 url(http://www.luismruiz.com/img/blured.jpg) no-repeat background: #2d3b36 url(http://www.luismruiz.com/img/blured.jpg)
center center fixed; no-repeat center center fixed;
-webkit-background-size: cover; -webkit-background-size: cover;
-moz-background-size: cover; -moz-background-size: cover;
-o-background-size: cover; -o-background-size: cover;

View File

@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react";
import { DicordActivityStyle } from "./discord-activity.style"; import { DicordActivityStyle } from "./discord-activity.style";
import { useLanyard } from "react-use-lanyard"; import { useLanyard } from "react-use-lanyard";
import { discord_id } from "config"; import { discord_id } from "config";
import DiscordParser from "../libs/discord-parser" import DiscordParser from "../libs/discord-parser";
/* <pre>{!loading && JSON.stringify(status, null, 4)}</pre>; */ /* <pre>{!loading && JSON.stringify(status, null, 4)}</pre>; */
@ -47,14 +47,15 @@ export default function DiscordActivity() {
if (!loading) { if (!loading) {
setParsedStatus(DiscordParser(status)); setParsedStatus(DiscordParser(status));
} }
}, [status, loading]) }, [status, loading]);
useEffect(() => { useEffect(() => {
let interval = setInterval(() => { let interval = setInterval(() => {
if (!loading) { if (!loading) {
setCurrentTs(Date.now()); setCurrentTs(Date.now());
let timeElapsed = convertMsToHM( let timeElapsed = convertMsToHM(
currentTs - new Date(parsedStatus?.activity?.timestamps.start) currentTs -
new Date(parsedStatus?.activity?.timestamps.start)
); );
setTime(timeElapsed); setTime(timeElapsed);
} }
@ -64,9 +65,7 @@ export default function DiscordActivity() {
}; };
}, [currentTs, loading, convertMsToHM, parsedStatus]); }, [currentTs, loading, convertMsToHM, parsedStatus]);
if ( if (!loading && parsedStatus && status.discord_status !== "offline") {
!loading && parsedStatus && status.discord_status !== "offline"
) {
return ( return (
<DicordActivityStyle> <DicordActivityStyle>
<div className="discord-icons"> <div className="discord-icons">
@ -74,12 +73,19 @@ export default function DiscordActivity() {
<img src={parsedStatus.activity.assets.large_image} /> <img src={parsedStatus.activity.assets.large_image} />
</div> </div>
<div className="discord-small-icon"> <div className="discord-small-icon">
<img src={parsedStatus.activity.assets.small_image} alt="" /> <img
src={parsedStatus.activity.assets.small_image}
alt=""
/>
</div> </div>
</div> </div>
<div className="discord-messageBox"> <div className="discord-messageBox">
<div className="discord-message-application"> <div className="discord-message-application">
<b>{parsedStatus.discord.username + "#" + parsedStatus.discord.discriminator}</b> <b>
{parsedStatus.discord.username +
"#" +
parsedStatus.discord.discriminator}
</b>
</div> </div>
<div className="discord-message-activity"> <div className="discord-message-activity">
<b>{parsedStatus.activity.details}</b> <b>{parsedStatus.activity.details}</b>
@ -92,8 +98,7 @@ export default function DiscordActivity() {
</div> </div>
</DicordActivityStyle> </DicordActivityStyle>
); );
} } else {
else {
let restData = { let restData = {
username: "Bravo68-DF_Techs", username: "Bravo68-DF_Techs",
public_flags: 64, public_flags: 64,
@ -114,7 +119,9 @@ export default function DiscordActivity() {
</div> </div>
<div className="discord-messageBox"> <div className="discord-messageBox">
<div className="discord-message-application"> <div className="discord-message-application">
<b>{restData.username + "#" + restData.discriminator}</b> <b>
{restData.username + "#" + restData.discriminator}
</b>
</div> </div>
<div className="discord-message-activity"> <div className="discord-message-activity">
<b>is Offline</b> <b>is Offline</b>

View File

@ -1,19 +1,19 @@
import { Component } from "react" import { Component } from "react";
import Page500 from "./500Page" import Page500 from "./500Page";
class ErrorBoundary extends Component { class ErrorBoundary extends Component {
constructor(props) { constructor(props) {
super(props) super(props);
// Define a state variable to track whether is an error or not // Define a state variable to track whether is an error or not
this.state = { hasError: false } this.state = { hasError: false };
} }
static getDerivedStateFromError(error) { static getDerivedStateFromError(error) {
// Update state so the next render will show the fallback UI // Update state so the next render will show the fallback UI
return { hasError: true } return { hasError: true };
} }
componentDidCatch(error, errorInfo) { componentDidCatch(error, errorInfo) {
// You can use your own error logging service here // You can use your own error logging service here
console.log({ error, errorInfo }) console.log({ error, errorInfo });
} }
render() { render() {
// Check if the error is thrown // Check if the error is thrown
@ -30,12 +30,11 @@ class ErrorBoundary extends Component {
Try again? Try again?
</button> </button>
</div> </div>
) );
} }
// Return children components in case of no error // Return children components in case of no error
return this.props.children return this.props.children;
} }
} }
export default ErrorBoundary export default ErrorBoundary;

104
components/experinces.jsx Normal file
View File

@ -0,0 +1,104 @@
import { job_exp_1, job_exp_2, job_exp_3, job_exp_4 } from "config";
import { ExpStyle } from "./experinces.style";
function experinces() {
return (
<ExpStyle>
<div className="default">
<div className="content">
<div className="comp-img">
<img src={job_exp_1.logo} alt="logo" />
</div>
<p id="name">{job_exp_1.name}</p>
<p id="info">{job_exp_1.info}</p>
<p id="role">{job_exp_1.role}</p>
<p id="dates">
{job_exp_1.start_date} - {job_exp_1.end_date}
</p>
<p id="desp">{job_exp_1.description}</p>
<p id="techbits">
{job_exp_1.techstack
.map((a) => {
return "#" + a;
})
.join(" ")}
</p>
</div>
<div className="content">
<div className="comp-img">
<img
src={job_exp_2.logo}
alt="logo"
height="20%"
width="20%"
/>
</div>
<p id="name">{job_exp_2.name}</p>
<p id="info">{job_exp_2.info}</p>
<p id="role">{job_exp_2.role}</p>
<p id="dates">
{job_exp_2.start_date} - {job_exp_2.end_date}
</p>
<p id="desp">{job_exp_2.description}</p>
<p id="techbits">
{job_exp_2.techstack
.map((a) => {
return "#" + a;
})
.join(" ")}
</p>
</div>
<div className="content">
<div className="comp-img">
<img
src={job_exp_3.logo}
alt="logo"
height="30%"
width="18%"
/>
</div>
<p id="name">{job_exp_3.name}</p>
<p id="info">{job_exp_3.info}</p>
<p id="role">{job_exp_3.role}</p>
<p id="dates">
{job_exp_3.start_date} - {job_exp_3.end_date}
</p>
<p id="desp">{job_exp_3.description}</p>
<p id="techbits">
{job_exp_3.techstack
.map((a) => {
return "#" + a;
})
.join(" ")}
</p>
</div>
<div className="content">
<div className="comp-img">
<img
src={job_exp_4.logo}
alt="logo"
height="35%"
width="13%"
/>
</div>
<p id="name">{job_exp_4.name}</p>
<p id="info">{job_exp_4.info}</p>
<p id="role">{job_exp_4.role}</p>
<p id="dates">
{job_exp_4.start_date} - {job_exp_4.end_date}
</p>
<p id="desp">{job_exp_4.description}</p>
<p id="techbits">
{job_exp_4.techstack
.map((a) => {
return "#" + a;
})
.join(" ")}
</p>
</div>
</div>
</ExpStyle>
);
}
export default experinces;

View File

@ -0,0 +1,39 @@
import styled from "styled-components";
export const ExpStyle = styled.div`
background-color: var(--color1);
overflow-y: scroll !important;
margin: 0;
top: 50%;
left: 50%;
height: 100vh;
padding-top: 12em;
align-items: center;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
.default {
align-items: center;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
padding-top: 8em;
padding-bottom: 8em;
/* position: absolute; */
/* top: 0; */
/* overflow-y: auto; */
}
.content {
margin-top: 1em;
margin-bottom: 1em;
margin-left: 1.3em;
margin-right: 1.3em;
font-weight: bold;
font-size: 1.3em;
color: var(--color3);
}
`;

View File

@ -4,14 +4,14 @@ import { name } from "config";
import Status from "./status"; import Status from "./status";
function footer() { function footer() {
return <FooterStyle> return (
<div className="main-footer"> <FooterStyle>
Build By {name} <div className="main-footer">Build By {name}</div>
</div> {/* <div className="api-status">
<div className="api-status">
<Status /> <Status />
</div> </div> */}
</FooterStyle>; </FooterStyle>
);
} }
export default footer; export default footer;

View File

@ -20,6 +20,5 @@ export default styled.div`
font-size: 1.2rem; font-size: 1.2rem;
padding-bottom: 20px; padding-bottom: 20px;
} }
} }
`; `;

View File

@ -25,19 +25,19 @@ import DiscordActivity from "./discord-activity";
function Main() { function Main() {
useEffect(() => { useEffect(() => {
const animePic = document.getElementById('anime-pic'); const animePic = document.getElementById("anime-pic");
const profPic = document.getElementById('prof-pic'); const profPic = document.getElementById("prof-pic");
animePic.addEventListener('mouseover', function() { animePic.addEventListener("mouseover", function () {
animePic.style.display = 'none'; animePic.style.display = "none";
profPic.style.display = 'block'; profPic.style.display = "block";
}); });
profPic.addEventListener('mouseout', function() { profPic.addEventListener("mouseout", function () {
animePic.style.display = 'block'; animePic.style.display = "block";
profPic.style.display = 'none'; profPic.style.display = "none";
}); });
},[]) }, []);
return ( return (
<MainStyle> <MainStyle>

View File

@ -10,8 +10,7 @@ function Resume() {
{ {
path: "webviewer/lib", path: "webviewer/lib",
mobileRedirect: true, mobileRedirect: true,
initialDoc: initialDoc: "/resume.pdf",
"/resume.pdf",
}, },
viewer.current viewer.current
).then((instance) => { ).then((instance) => {
@ -22,7 +21,11 @@ function Resume() {
}, []); }, []);
return ( return (
<ResumeStyle> <ResumeStyle>
<div className="webviewer" ref={viewer} style={{ height: "100vh" }}></div> <div
className="webviewer"
ref={viewer}
style={{ height: "100vh" }}
></div>
</ResumeStyle> </ResumeStyle>
); );
} }

View File

@ -6,19 +6,23 @@ function GitCommits({ title, image, evt1, evt2, evt3, url }) {
[evt1, evt2, evt3].map((evt) => { [evt1, evt2, evt3].map((evt) => {
if (evt?.type === "PushEvent") { if (evt?.type === "PushEvent") {
evt.entTypeLogo = "/images/github_events/github_push_event_logo.png"; evt.entTypeLogo =
"/images/github_events/github_push_event_logo.png";
evt.commitMsg = evt.payload.commits[0].message; evt.commitMsg = evt.payload.commits[0].message;
} else if (evt?.type === "WatchEvent") { } else if (evt?.type === "WatchEvent") {
evt.entTypeLogo = "/images/github_events/github_watch_event_logo.png"; evt.entTypeLogo =
"/images/github_events/github_watch_event_logo.png";
} else if (evt?.type === "IssuesEvent") { } else if (evt?.type === "IssuesEvent") {
evt.entTypeLogo = "/images/github_events/github_issues_event_logo.png"; evt.entTypeLogo =
"/images/github_events/github_issues_event_logo.png";
if (evt?.payload.action === "opened") { if (evt?.payload.action === "opened") {
evt.commitMsg = "Opened " + evt.payload.issue.title; evt.commitMsg = "Opened " + evt.payload.issue.title;
} else if (evt?.payload.action === "closed") { } else if (evt?.payload.action === "closed") {
evt.commitMsg = "Closed " + evt.payload.issue.title; evt.commitMsg = "Closed " + evt.payload.issue.title;
} }
} else if (evt?.type === "DeleteEvent") { } else if (evt?.type === "DeleteEvent") {
evt.entTypeLogo = "/images/github_events/github_delete_event_logo.png"; evt.entTypeLogo =
"/images/github_events/github_delete_event_logo.png";
evt.commitMsg = evt.commitMsg =
evt.payload.ref_type + " " + evt.payload.ref + " deleted"; evt.payload.ref_type + " " + evt.payload.ref + " deleted";
} else if (evt?.type === "IssueCommentEvent") { } else if (evt?.type === "IssueCommentEvent") {
@ -26,7 +30,8 @@ function GitCommits({ title, image, evt1, evt2, evt3, url }) {
"/images/github_events/github_issue_comment_event_logo.png"; "/images/github_events/github_issue_comment_event_logo.png";
evt.commitMsg = evt.payload.comment.body; evt.commitMsg = evt.payload.comment.body;
} else if (evt?.type === "CreateEvent") { } else if (evt?.type === "CreateEvent") {
evt.entTypeLogo = "/images/github_events/github_create_event_logo.png"; evt.entTypeLogo =
"/images/github_events/github_create_event_logo.png";
evt.commitMsg = evt.payload.ref_type; evt.commitMsg = evt.payload.ref_type;
} else if (evt?.type === "PullRequestEvent") { } else if (evt?.type === "PullRequestEvent") {
evt.entTypeLogo = evt.entTypeLogo =
@ -37,10 +42,11 @@ function GitCommits({ title, image, evt1, evt2, evt3, url }) {
evt.commitMsg = "Closed " + evt.payload.pull_request.title; evt.commitMsg = "Closed " + evt.payload.pull_request.title;
} }
} else if (evt?.type === "ForkEvent") { } else if (evt?.type === "ForkEvent") {
evt.entTypeLogo = "/images/github_events/github_fork_event_logo.png"; evt.entTypeLogo =
"/images/github_events/github_fork_event_logo.png";
evt.commitMsg = "Forked " + evt.payload.forkee.full_name; evt.commitMsg = "Forked " + evt.payload.forkee.full_name;
} }
}) });
return ( return (
<SkillCard title={title} image={image} url={url}> <SkillCard title={title} image={image} url={url}>
@ -86,4 +92,4 @@ function GitCommits({ title, image, evt1, evt2, evt3, url }) {
); );
} }
export default GitCommits export default GitCommits;

View File

@ -26,7 +26,15 @@ function LastFMCurrentSkillCard({
{empty ? "No recent tracks" : `${song.artist} - ${song.name}`} {empty ? "No recent tracks" : `${song.artist} - ${song.name}`}
</div> </div>
<div className="description"> <div className="description">
{empty ? "" : <img src={song.art} alt={`${song.artist} - ${song.name}`} className="albumart"/>} {empty ? (
""
) : (
<img
src={song.art}
alt={`${song.artist} - ${song.name}`}
className="albumart"
/>
)}
</div> </div>
</SkillCard> </SkillCard>
); );

View File

@ -38,7 +38,8 @@ function OsuBestScoresSkillCard({
Star/Combos/PP Star/Combos/PP
<div className="bestScores__score__info__score__value"> <div className="bestScores__score__info__score__value">
<div className="bestScores__score__info__name__artist"> <div className="bestScores__score__info__name__artist">
{bestScore1?.beatmap?.difficulty_rating + " "} {bestScore1?.beatmap?.difficulty_rating +
" "}
</div> </div>
/ /
<div className="bestScores__score__info__name__artist"> <div className="bestScores__score__info__name__artist">
@ -76,7 +77,8 @@ function OsuBestScoresSkillCard({
Star/Combos/PP Star/Combos/PP
<div className="bestScores__score__info__score__value"> <div className="bestScores__score__info__score__value">
<div className="bestScores__score__info__name__artist"> <div className="bestScores__score__info__name__artist">
{bestScore2?.beatmap?.difficulty_rating + " "} {bestScore2?.beatmap?.difficulty_rating +
" "}
</div> </div>
/ /
<div className="bestScores__score__info__name__artist"> <div className="bestScores__score__info__name__artist">
@ -114,7 +116,8 @@ function OsuBestScoresSkillCard({
Star/Combos/PP Star/Combos/PP
<div className="bestScores__score__info__score__value"> <div className="bestScores__score__info__score__value">
<div className="bestScores__score__info__name__artist"> <div className="bestScores__score__info__name__artist">
{bestScore3?.beatmap?.difficulty_rating + " "} {bestScore3?.beatmap?.difficulty_rating +
" "}
</div> </div>
/ /
<div className="bestScores__score__info__name__artist"> <div className="bestScores__score__info__name__artist">

View File

@ -19,7 +19,9 @@ function OsuUserSkillCard({
}) { }) {
return ( return (
<SkillCard title={title} image={image} url={url}> <SkillCard title={title} image={image} url={url}>
<div className="description">Accuracy :- {Math.floor(accuracy)} %</div> <div className="description">
Accuracy :- {Math.floor(accuracy)} %
</div>
<div className="description">Level :- {Math.floor(level)}</div> <div className="description">Level :- {Math.floor(level)}</div>
<div className="description">PP :- {Math.floor(pp_raw)}</div> <div className="description">PP :- {Math.floor(pp_raw)}</div>
<div className="description">Country :- {country}</div> <div className="description">Country :- {country}</div>

View File

@ -27,7 +27,9 @@ function SpotifyTopSkillCard({
</a> </a>
</div> </div>
<div className="topSongs__song__info"> <div className="topSongs__song__info">
<div className="topSongs__song__info__name">{topSongs1?.name}</div> <div className="topSongs__song__info__name">
{topSongs1?.name}
</div>
<div className="topSongs__song__info__artist"> <div className="topSongs__song__info__artist">
{topSongs1?.artists[0]?.name} {topSongs1?.artists[0]?.name}
</div> </div>
@ -44,7 +46,9 @@ function SpotifyTopSkillCard({
</a> </a>
</div> </div>
<div className="topSongs__song__info"> <div className="topSongs__song__info">
<div className="topSongs__song__info__name">{topSongs2?.name}</div> <div className="topSongs__song__info__name">
{topSongs2?.name}
</div>
<div className="topSongs__song__info__artist"> <div className="topSongs__song__info__artist">
{topSongs2?.artists[0]?.name} {topSongs2?.artists[0]?.name}
</div> </div>
@ -61,7 +65,9 @@ function SpotifyTopSkillCard({
</a> </a>
</div> </div>
<div className="topSongs__song__info"> <div className="topSongs__song__info">
<div className="topSongs__song__info__name">{topSongs3?.name}</div> <div className="topSongs__song__info__name">
{topSongs3?.name}
</div>
<div className="topSongs__song__info__artist"> <div className="topSongs__song__info__artist">
{topSongs3?.artists[0]?.name} {topSongs3?.artists[0]?.name}
</div> </div>
@ -78,7 +84,9 @@ function SpotifyTopSkillCard({
</a> </a>
</div> </div>
<div className="topSongs__song__info"> <div className="topSongs__song__info">
<div className="topSongs__song__info__name">{topSongs4?.name}</div> <div className="topSongs__song__info__name">
{topSongs4?.name}
</div>
<div className="topSongs__song__info__artist"> <div className="topSongs__song__info__artist">
{topSongs4?.artists[0]?.name} {topSongs4?.artists[0]?.name}
</div> </div>
@ -95,7 +103,9 @@ function SpotifyTopSkillCard({
</a> </a>
</div> </div>
<div className="topSongs__song__info"> <div className="topSongs__song__info">
<div className="topSongs__song__info__name">{topSongs5?.name}</div> <div className="topSongs__song__info__name">
{topSongs5?.name}
</div>
<div className="topSongs__song__info__artist"> <div className="topSongs__song__info__artist">
{topSongs5?.artists[0]?.name} {topSongs5?.artists[0]?.name}
</div> </div>

View File

@ -15,7 +15,12 @@ function TwitterTweetsSkillCard({
<div className="skill-card-content"> <div className="skill-card-content">
Latest Tweet Latest Tweet
<div className="skill-card-content-inner"> <div className="skill-card-content-inner">
<a href={"https://twitter.com/Bravo68web/status/" + tweets1?.id}> <a
href={
"https://twitter.com/Bravo68web/status/" +
tweets1?.id
}
>
<div>{tweets1?.text}</div> <div>{tweets1?.text}</div>
</a> </a>
</div> </div>
@ -24,7 +29,12 @@ function TwitterTweetsSkillCard({
<div className="skill-card-content"> <div className="skill-card-content">
Previous Tweets Previous Tweets
<div className="skill-card-content-inner"> <div className="skill-card-content-inner">
<a href={"https://twitter.com/Bravo68web/status/" + tweets2?.id}> <a
href={
"https://twitter.com/Bravo68web/status/" +
tweets2?.id
}
>
{tweets2?.text} {tweets2?.text}
</a> </a>
</div> </div>
@ -32,7 +42,12 @@ function TwitterTweetsSkillCard({
<br /> <br />
<div className="skill-card-content"> <div className="skill-card-content">
<div className="skill-card-content-inner"> <div className="skill-card-content-inner">
<a href={"https://twitter.com/Bravo68web/status/" + tweets3?.id}> <a
href={
"https://twitter.com/Bravo68web/status/" +
tweets3?.id
}
>
{tweets3?.text} {tweets3?.text}
</a> </a>
</div> </div>

View File

@ -71,40 +71,63 @@ function Skills() {
title={"GitHub Stats"} title={"GitHub Stats"}
url={"https://github.com/Bravo68web"} url={"https://github.com/Bravo68web"}
image={skills?.logo?.github} image={skills?.logo?.github}
public_repos={skills?.gh_user?.data?.public_repos} public_repos={
skills?.gh_user?.data?.public_repos
}
followers={skills?.gh_user?.data?.followers} followers={skills?.gh_user?.data?.followers}
following={skills?.gh_user?.data?.following} following={skills?.gh_user?.data?.following}
public_gists={skills?.gh_user?.data?.public_gists} public_gists={
skills?.gh_user?.data?.public_gists
}
created_at={skills?.gh_user?.data?.created_at} created_at={skills?.gh_user?.data?.created_at}
/> />
<OsuUserSkillCard <OsuUserSkillCard
title={"Osu! Player Stats"} title={"Osu! Player Stats"}
url={"https://osu.ppy.sh/users/bravo68web"} url={"https://osu.ppy.sh/users/bravo68web"}
image={skills?.logo?.osu} image={skills?.logo?.osu}
accuracy={skills?.osu_user?.data?.statistics?.hit_accuracy} accuracy={
level={skills?.osu_user?.data?.statistics?.level?.current} skills?.osu_user?.data?.statistics
?.hit_accuracy
}
level={
skills?.osu_user?.data?.statistics?.level
?.current
}
pp_raw={skills?.osu_user?.data?.statistics?.pp} pp_raw={skills?.osu_user?.data?.statistics?.pp}
country={skills?.osu_user?.data?.country?.code} country={skills?.osu_user?.data?.country?.code}
pp_rank={skills?.osu_user?.data?.statistics?.global_rank} pp_rank={
countryRank={skills?.osu_user?.data?.statistics?.country_rank} skills?.osu_user?.data?.statistics
?.global_rank
}
countryRank={
skills?.osu_user?.data?.statistics
?.country_rank
}
maximum_combo={ maximum_combo={
skills?.osu_user?.data?.statistics?.maximum_combo skills?.osu_user?.data?.statistics
?.maximum_combo
} }
join_date={"2019-09-21 19:33:44"} join_date={"2019-09-21 19:33:44"}
total_score={skills?.osu_user?.data?.statistics?.total_score} total_score={
skills?.osu_user?.data?.statistics
?.total_score
}
/> />
<TwitterUserSkillCard <TwitterUserSkillCard
title={"Twitter Stats"} title={"Twitter Stats"}
url={"https://twitter.com/Bravo68web"} url={"https://twitter.com/Bravo68web"}
image={skills?.logo?.twitter} image={skills?.logo?.twitter}
followers_count={ followers_count={
skills?.twitter_user?.public_metrics?.followers_count skills?.twitter_user?.public_metrics
?.followers_count
} }
friends_count={ friends_count={
skills?.twitter_user?.public_metrics?.following_count skills?.twitter_user?.public_metrics
?.following_count
} }
statuses_count={ statuses_count={
skills?.twitter_user?.public_metrics?.tweet_count skills?.twitter_user?.public_metrics
?.tweet_count
} }
created_at={skills?.twitter_user?.created_at} created_at={skills?.twitter_user?.created_at}
/> />
@ -114,17 +137,29 @@ function Skills() {
"https://open.spotify.com/user/31huoajpuynl4w4dzbhp4frktqw4?si=48195baf55a54d7d" "https://open.spotify.com/user/31huoajpuynl4w4dzbhp4frktqw4?si=48195baf55a54d7d"
} }
image={skills?.logo?.spotify} image={skills?.logo?.spotify}
topSongs1={skills?.spotify_top_songs?.data?.items[0]} topSongs1={
topSongs2={skills?.spotify_top_songs?.data?.items[1]} skills?.spotify_top_songs?.data?.items[0]
topSongs3={skills?.spotify_top_songs?.data?.items[2]} }
topSongs4={skills?.spotify_top_songs?.data?.items[3]} topSongs2={
topSongs5={skills?.spotify_top_songs?.data?.items[4]} skills?.spotify_top_songs?.data?.items[1]
}
topSongs3={
skills?.spotify_top_songs?.data?.items[2]
}
topSongs4={
skills?.spotify_top_songs?.data?.items[3]
}
topSongs5={
skills?.spotify_top_songs?.data?.items[4]
}
/> />
<WakatimeUserSkillCard <WakatimeUserSkillCard
title={"Wakatime Stats"} title={"Wakatime Stats"}
url={"https://wakatime.com/@bravo68web"} url={"https://wakatime.com/@bravo68web"}
image={skills?.logo?.wakatime} image={skills?.logo?.wakatime}
total_time={skills?.wakatime_alltime?.data?.text} total_time={
skills?.wakatime_alltime?.data?.text
}
average_weekly_time={ average_weekly_time={
skills?.wakatime_stats?.data skills?.wakatime_stats?.data
?.human_readable_daily_average_including_other_language ?.human_readable_daily_average_including_other_language
@ -141,8 +176,12 @@ function Skills() {
image={skills?.logo?.hashnode} image={skills?.logo?.hashnode}
joinOn={"2021-06-18"} joinOn={"2021-06-18"}
numPosts={skills?.hn_user?.data?.numPosts} numPosts={skills?.hn_user?.data?.numPosts}
numFollowers={skills?.hn_user?.data?.numFollowers} numFollowers={
numReactions={skills?.hn_user?.data?.numReactions} skills?.hn_user?.data?.numFollowers
}
numReactions={
skills?.hn_user?.data?.numReactions
}
/> />
<OsuBestScoresSkillCard <OsuBestScoresSkillCard
title={"Osu! Best Scores"} title={"Osu! Best Scores"}
@ -176,20 +215,20 @@ function Skills() {
image={skills?.logo?.lastfm} image={skills?.logo?.lastfm}
empty={lastFMempty} empty={lastFMempty}
artist={ artist={
skills?.lastfm_current?.recenttracks?.track?.[0]?.artist[ skills?.lastfm_current?.recenttracks
"#text" ?.track?.[0]?.artist["#text"]
] }
name={
skills?.lastfm_current?.recenttracks
?.track?.[0]?.name
} }
name={skills?.lastfm_current?.recenttracks?.track?.[0]?.name}
album={ album={
skills?.lastfm_current?.recenttracks?.track?.[0]?.album[ skills?.lastfm_current?.recenttracks
"#text" ?.track?.[0]?.album["#text"]
]
} }
albumImg={ albumImg={
skills?.lastfm_current?.recenttracks?.track?.[0].image[1][ skills?.lastfm_current?.recenttracks
"#text" ?.track?.[0].image[1]["#text"]
]
} }
/> />
<GitHubUserEvtSkillCard <GitHubUserEvtSkillCard

View File

@ -26,10 +26,6 @@ export default function Status() {
</Box> </Box>
); );
} else { } else {
return ( return <div>{status.status}</div>;
<div>
{(status.status)}
</div>
);
} }
} }

View File

@ -29,7 +29,9 @@ function SkillCard({ content, created_at, url, image }) {
<img src={image} height="30" /> <img src={image} height="30" />
</div> </div>
)} )}
<div className="content">&quot;{texts.join("\n")}&quot;</div> <div className="content">
&quot;{texts.join("\n")}&quot;
</div>
<div className="type"> <div className="type">
# {format(created_at, "DD MMM YYYY")} # {format(created_at, "DD MMM YYYY")}
</div> </div>

View File

@ -37,9 +37,7 @@ function Toots () {
return ( return (
<> <>
<ArtTitleStyle> <ArtTitleStyle>
<div className="title-bar"> <div className="title-bar">Fosstodon Status</div>
Fosstodon Status
</div>
</ArtTitleStyle> </ArtTitleStyle>
<div className="mainboard__container"> <div className="mainboard__container">
{skills && ( {skills && (

View File

@ -22,4 +22,4 @@ export const ArtTitleStyle = styled.div`
text-align: center; text-align: center;
margin-bottom: 18px; margin-bottom: 18px;
padding-top: 90px; padding-top: 90px;
` `;

View File

@ -30,7 +30,9 @@ function vsExtsShow() {
{content.name} {content.name}
</a> </a>
</h1> </h1>
<h2 className="tags">#{content.type}</h2> <h2 className="tags">
#{content.type}
</h2>
</div> </div>
</div> </div>
</div> </div>

394
config.js
View File

@ -13,6 +13,97 @@ export const facebook_url = "https://www.facebook.com/Bravo68Web/";
export const discord_id = "457039372009865226"; export const discord_id = "457039372009865226";
export const avatar_id = "08a8937664b3b165805965244d6f095f"; export const avatar_id = "08a8937664b3b165805965244d6f095f";
export const discord_profile = ""; export const discord_profile = "";
export const job_exp_1 = {
name: "DF Tech Community",
info: "Freelance community for developers and designers",
role: "Wordpress Manager + Hosting Manager",
description:
"I was the Wordpress Manager and Hosting Manager of the DF Tech Community. I was responsible for managing the Wordpress website and the hosting of the website. I was also responsible for managing the hosting of the community's Discord bot.",
start_date: "2018-04-05",
end_date: "2019-12-24",
logo: "",
website: "",
techstack: [
"Wordpress",
"PHP",
"MySQL",
"Apache",
"Linux",
"Discord.js",
"AWS",
"Alibaba Cloud",
],
};
export const job_exp_2 = {
name: "Engineer's Cradle",
info: "EdTech Company catering Engineering Students",
role: "CTO DevOps + Full Stack Developer",
description:
"I was a CTO DevOps and Full Stack Developer at Engineer's Cradle. Being one of the founding members of the company, I was responsible for managing the comapany's website and creating initial MVP for onboarding students for the platform. I lead the backend development team and was responsible for managing the backend infrastructure of the company.",
start_date: "2021-04-01",
end_date: "2022-05-15",
logo: "https://engineerscradle.com/assets/Logo_lg.svg",
techstack: [
"ReactJS",
"NextJS",
"NodeJS",
"Express",
"MongoDB",
"AWS",
"Redis",
"TailwindCSS",
"Docker",
],
website: "https://engineerscradle.com",
};
export const job_exp_3 = {
name: "Hybr1d.io",
role: "SDE Backend Developer",
info: "An IT Solutions company provider",
description:
"I was a SDE Backend Developer at Hybr1d.io. I was responsible for migrating company's backend architecture from Ruby on Rails to Typescript alongside creating microservices. I was also responsible for managing the company's backend infrastructure and creating CI/CD pipelines for the company's backend services on AWS Cloud.",
start_date: "2022-06-01",
end_date: "2022-12-29",
logo: "https://safe.b68dev.xyz/4TDyZWOf.png",
techstack: [
"Typescript",
"NodeJS",
"Express",
"PostgreSQL",
"AWS",
"Redis",
"Docker",
"ECS",
"Jest",
"Github Actions",
"Hasura GQL",
],
website: "https://hybr1d.io",
};
export const job_exp_4 = {
name: "Sharpsell.ai",
role: "Site Reliability Engineer",
description:
"I was a Site Reliability Engineer at Sharpsell. I was responsible for managing the company's infrastructure and creating CI/CD pipelines for the company's services on AWS Cloud. I was also responsible for creating the company's backend architecture, creating microservices and deploy scable solutions.",
start_date: "2023-01-15",
end_date: "2023-05-04",
logo: "https://uploads-ssl.webflow.com/606c68b3010f42577120b042/638781352dfd05a38fcf756f_menu%20logo%201.png",
techstack: [
"AWS",
"Python",
"Bash",
"Docker",
"ECS",
"EC2",
"S3",
"Lambda",
"Cloudfront",
"Nginx",
"Infra Design",
],
website: "https://sharpsell.ai",
info: "Sales Playbook Automation Platform helps large sales teams to scale",
};
export const description1 = export const description1 =
"I am Jyotirmoy Bandyopadhayaya, AKA Bravo68web, 19, a student developer from India with passion in API and microservices development. I have expertice in DevOps and Full Stack development. I am a self taught developer and I am always looking for new challenges to learn and grow."; "I am Jyotirmoy Bandyopadhayaya, AKA Bravo68web, 19, a student developer from India with passion in API and microservices development. I have expertice in DevOps and Full Stack development. I am a self taught developer and I am always looking for new challenges to learn and grow.";
export const description2 = export const description2 =
@ -192,8 +283,7 @@ export const projects = [
type: "project", type: "project",
description: description:
"Simple URL shortener service that allows you to shorten any URL and redirect to the original URL.", "Simple URL shortener service that allows you to shorten any URL and redirect to the original URL.",
image: image: "https://user-images.githubusercontent.com/41448663/153746139-237f8e4d-be25-4f04-91ec-2bb3ff6f0e34.png",
"https://user-images.githubusercontent.com/41448663/153746139-237f8e4d-be25-4f04-91ec-2bb3ff6f0e34.png",
url: "https://github.com/BRAVO68WEB/url-minify", url: "https://github.com/BRAVO68WEB/url-minify",
}, },
{ {
@ -208,8 +298,7 @@ export const projects = [
name: "LPU Wifi Login", name: "LPU Wifi Login",
type: "project", type: "project",
description: "LPU Wifi Login Application to login to LPU Wifi network", description: "LPU Wifi Login Application to login to LPU Wifi network",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/lpu-wifi-login/main/icons/logo.png",
"https://raw.githubusercontent.com/BRAVO68WEB/lpu-wifi-login/main/icons/logo.png",
url: "https://github.com/BRAVO68WEB/lpu-wifi-login", url: "https://github.com/BRAVO68WEB/lpu-wifi-login",
}, },
{ {
@ -217,8 +306,7 @@ export const projects = [
type: "project", type: "project",
description: description:
"LPU Live Chat Application to chat with university students, teachers, etc..", "LPU Live Chat Application to chat with university students, teachers, etc..",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/lpu-live-chat/main/icons/logo.png",
"https://raw.githubusercontent.com/BRAVO68WEB/lpu-live-chat/main/icons/logo.png",
url: "https://github.com/BRAVO68WEB/lpu-live-chat", url: "https://github.com/BRAVO68WEB/lpu-live-chat",
}, },
{ {
@ -233,8 +321,7 @@ export const projects = [
name: "GSSoC Website", name: "GSSoC Website",
type: "project", type: "project",
description: "Contributed to GSSoC website", description: "Contributed to GSSoC website",
image: image: "https://raw.githubusercontent.com/GSSoC-Web/gssoc-assets/main/Logos/GS_logo_Black.png",
"https://raw.githubusercontent.com/GSSoC-Web/gssoc-assets/main/Logos/GS_logo_Black.png",
url: "https://github.com/girlscript/gssoc-website-new", url: "https://github.com/girlscript/gssoc-website-new",
}, },
{ {
@ -256,7 +343,8 @@ export const projects = [
{ {
name: "simplify-cd", name: "simplify-cd",
type: "project", type: "project",
description: "Made a CI/CD application to deploy any nodejs application", description:
"Made a CI/CD application to deploy any nodejs application",
image: "/images/GitHub-Logo.png", image: "/images/GitHub-Logo.png",
url: "https://github.com/BRAVO68WEB/simplify-cd", url: "https://github.com/BRAVO68WEB/simplify-cd",
}, },
@ -264,8 +352,7 @@ export const projects = [
name: "starship", name: "starship",
type: "project", type: "project",
description: "Contributed to Starship project", description: "Contributed to Starship project",
image: image: "https://raw.githubusercontent.com/starship/starship/master/media/icon.png",
"https://raw.githubusercontent.com/starship/starship/master/media/icon.png",
url: "https://github.com/starship/starship", url: "https://github.com/starship/starship",
}, },
{ {
@ -280,8 +367,7 @@ export const projects = [
name: "vscode-uipack", name: "vscode-uipack",
type: "project", type: "project",
description: "An Extension to make VSCode UI more beautiful", description: "An Extension to make VSCode UI more beautiful",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/vscode-uipack/master/icon.png",
"https://raw.githubusercontent.com/BRAVO68WEB/vscode-uipack/master/icon.png",
url: "https://github.com/BRAVO68WEB/vscode-uipack", url: "https://github.com/BRAVO68WEB/vscode-uipack",
}, },
{ {
@ -289,24 +375,21 @@ export const projects = [
type: "project", type: "project",
description: description:
"An Extension to make VSCode more efficient consisting of great extentions", "An Extension to make VSCode more efficient consisting of great extentions",
image: image: "https://github.com/BRAVO68WEB/vector-vscode-devpack/blob/master/icon.png?raw=true",
"https://github.com/BRAVO68WEB/vector-vscode-devpack/blob/master/icon.png?raw=true",
url: "https://github.com/BRAVO68WEB/vector-vscode-devpack", url: "https://github.com/BRAVO68WEB/vector-vscode-devpack",
}, },
{ {
name: "IRC", name: "IRC",
type: "project", type: "project",
description: "Made a simple IRC web application", description: "Made a simple IRC web application",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/irc/master/client/src/icons/irc-icon.png",
"https://raw.githubusercontent.com/BRAVO68WEB/irc/master/client/src/icons/irc-icon.png",
url: "https://github.com/BRAVO68WEB/irc", url: "https://github.com/BRAVO68WEB/irc",
}, },
{ {
name: "propstar-theme", name: "propstar-theme",
type: "project", type: "project",
description: "Made a theme for VSCode", description: "Made a theme for VSCode",
image: image: "https://github.com/BRAVO68WEB/propstar-theme/raw/main/assets/icon.png",
"https://github.com/BRAVO68WEB/propstar-theme/raw/main/assets/icon.png",
url: "https://github.com/BRAVO68WEB/propstar-theme", url: "https://github.com/BRAVO68WEB/propstar-theme",
}, },
{ {
@ -320,8 +403,7 @@ export const projects = [
name: "icyicons", name: "icyicons",
type: "project", type: "project",
description: "Made a VSCode Iconpack", description: "Made a VSCode Iconpack",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/icyicons/master/icon.png",
"https://raw.githubusercontent.com/BRAVO68WEB/icyicons/master/icon.png",
url: "https://github.com/BRAVO68WEB/icyicons", url: "https://github.com/BRAVO68WEB/icyicons",
}, },
{ {
@ -363,16 +445,14 @@ export const projects = [
name: "ImprovedTube", name: "ImprovedTube",
type: "project", type: "project",
description: "Contributed to ImprovedTube", description: "Contributed to ImprovedTube",
image: image: "https://raw.githubusercontent.com/code-for-charity/YouTube-Extension/master/icons/128.png",
"https://raw.githubusercontent.com/code-for-charity/YouTube-Extension/master/icons/128.png",
url: "https://github.com/code-for-charity/YouTube-Extension", url: "https://github.com/code-for-charity/YouTube-Extension",
}, },
{ {
name: "Electron CPU meter", name: "Electron CPU meter",
type: "project", type: "project",
description: "Created an Electron App to monitor CPU usage", description: "Created an Electron App to monitor CPU usage",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/electron-cpu-meter/master/src/icon.ico",
"https://raw.githubusercontent.com/BRAVO68WEB/electron-cpu-meter/master/src/icon.ico",
url: "https://github.com/BRAVO68WEB/electron-cpu-meter", url: "https://github.com/BRAVO68WEB/electron-cpu-meter",
}, },
{ {
@ -385,7 +465,8 @@ export const projects = [
{ {
name: "Bin Buster", name: "Bin Buster",
type: "project", type: "project",
description: "A simple, fast and useful bruter for multiple paste sources.", description:
"A simple, fast and useful bruter for multiple paste sources.",
image: "/images/GitHub-Logo.png", image: "/images/GitHub-Logo.png",
url: "https://github.com/BRAVO68WEB/bin-buster", url: "https://github.com/BRAVO68WEB/bin-buster",
}, },
@ -407,9 +488,9 @@ export const projects = [
{ {
name: "url-short-cfw", name: "url-short-cfw",
type: "project", type: "project",
description: "An Custom URL Shortener build on CloudFlare Worker Platform", description:
image: "An Custom URL Shortener build on CloudFlare Worker Platform",
"https://cdn.hashnode.com/res/hashnode/image/upload/v1624006530365/Ku95JYafL.jpeg", image: "https://cdn.hashnode.com/res/hashnode/image/upload/v1624006530365/Ku95JYafL.jpeg",
url: "https://github.com/BRAVO68WEB/url-short-cfw", url: "https://github.com/BRAVO68WEB/url-short-cfw",
}, },
{ {
@ -417,8 +498,7 @@ export const projects = [
type: "project", type: "project",
description: description:
"An PWA instance of 2048 build with Javascript. Also added to KaiOS project", "An PWA instance of 2048 build with Javascript. Also added to KaiOS project",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/KaiOS-2048/main/assets/favicons/ms-icon-310x310.png",
"https://raw.githubusercontent.com/BRAVO68WEB/KaiOS-2048/main/assets/favicons/ms-icon-310x310.png",
url: "https://github.com/BRAVO68WEB/2048", url: "https://github.com/BRAVO68WEB/2048",
}, },
{ {
@ -432,8 +512,7 @@ export const projects = [
name: "Britta/discord-music-bot", name: "Britta/discord-music-bot",
type: "project", type: "project",
description: "Contributed to Britta Discord Music Bot (verified bot)", description: "Contributed to Britta Discord Music Bot (verified bot)",
image: image: "https://raw.githubusercontent.com/b3h3m0th/britta_discord-music-bot/master/assets/img/brittaBanner.png",
"https://raw.githubusercontent.com/b3h3m0th/britta_discord-music-bot/master/assets/img/brittaBanner.png",
url: "https://github.com/b3h3m0th/britta_discord-music-bot", url: "https://github.com/b3h3m0th/britta_discord-music-bot",
}, },
{ {
@ -461,8 +540,7 @@ export const projects = [
name: "Hexo", name: "Hexo",
type: "project", type: "project",
description: "Got my theme added to official Hexojs Community website", description: "Got my theme added to official Hexojs Community website",
image: image: "https://raw.githubusercontent.com/hexojs/logo/master/hexo-logo-avatar.png",
"https://raw.githubusercontent.com/hexojs/logo/master/hexo-logo-avatar.png",
url: "https://github.com/hexojs/hexo", url: "https://github.com/hexojs/hexo",
}, },
{ {
@ -476,8 +554,7 @@ export const projects = [
name: "Github Profile Readme Generator", name: "Github Profile Readme Generator",
type: "project", type: "project",
description: "Contributed to Github Profile Readme Generator", description: "Contributed to Github Profile Readme Generator",
image: image: "https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/mdg.png",
"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/mdg.png",
url: "https://github.com/rahuldkjain/github-profile-readme-generator", url: "https://github.com/rahuldkjain/github-profile-readme-generator",
}, },
{ {
@ -485,40 +562,35 @@ export const projects = [
type: "project", type: "project",
description: description:
"A Random string encryptor w.r.t. Timestamps to add Security to your Web Application", "A Random string encryptor w.r.t. Timestamps to add Security to your Web Application",
image: image: "https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
"https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
url: "https://www.npmjs.com/package/encrypted-randomizer", url: "https://www.npmjs.com/package/encrypted-randomizer",
}, },
{ {
name: "npm package - gen-dockerfile", name: "npm package - gen-dockerfile",
type: "project", type: "project",
description: "Generate Dockerfile from Dockerfile.template", description: "Generate Dockerfile from Dockerfile.template",
image: image: "https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
"https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
url: "https://www.npmjs.com/package/gen-dockerfile", url: "https://www.npmjs.com/package/gen-dockerfile",
}, },
{ {
name: "npm package - qbadges", name: "npm package - qbadges",
type: "project", type: "project",
description: "Generate badges for your GitHub profile", description: "Generate badges for your GitHub profile",
image: image: "https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
"https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
url: "https://www.npmjs.com/package/qbadges", url: "https://www.npmjs.com/package/qbadges",
}, },
{ {
name: "npm package - @bravo68web/hexo-webnary-theme", name: "npm package - @bravo68web/hexo-webnary-theme",
type: "project", type: "project",
description: "Hexo Plugin for hexo-webnary-theme", description: "Hexo Plugin for hexo-webnary-theme",
image: image: "https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
"https://raw.githubusercontent.com/npm/logos/master/npm%20logo/classic/npm-2009.png",
url: "https://www.npmjs.com/package/@bravo68web/hexo-webnary-theme", url: "https://www.npmjs.com/package/@bravo68web/hexo-webnary-theme",
}, },
{ {
name: "Ampr Music", name: "Ampr Music",
type: "project", type: "project",
description: "Made a simple music webapp", description: "Made a simple music webapp",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/ampr-music/master/assets/logo.png",
"https://raw.githubusercontent.com/BRAVO68WEB/ampr-music/master/assets/logo.png",
url: "https://github.com/BRAVO68WEB/ampr-music/", url: "https://github.com/BRAVO68WEB/ampr-music/",
}, },
]; ];
@ -562,8 +634,7 @@ export const vsExts = [
description: "Crystalify all your VSCode Icons.", description: "Crystalify all your VSCode Icons.",
type: "icon-pack", type: "icon-pack",
url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.icyicons", url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.icyicons",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/icyicons/master/icon.png",
"https://raw.githubusercontent.com/BRAVO68WEB/icyicons/master/icon.png",
}, },
{ {
name: "propstar", name: "propstar",
@ -571,24 +642,21 @@ export const vsExts = [
"A multivariant VS-Code Theme build with ❤️. All theme designs and colour combinations are handpicked to suit every Programmers needs. Hope you love it.", "A multivariant VS-Code Theme build with ❤️. All theme designs and colour combinations are handpicked to suit every Programmers needs. Hope you love it.",
type: "theme", type: "theme",
url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.propstar", url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.propstar",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/propstar-theme/main/assets/icon.png",
"https://raw.githubusercontent.com/BRAVO68WEB/propstar-theme/main/assets/icon.png",
}, },
{ {
name: "vscode-uipack", name: "vscode-uipack",
description: "VSCode UI Pack created by Bravo68web", description: "VSCode UI Pack created by Bravo68web",
type: "extentionPack", type: "extentionPack",
url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.vscode-uipack", url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.vscode-uipack",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/vscode-uipack/master/icon.png",
"https://raw.githubusercontent.com/BRAVO68WEB/vscode-uipack/master/icon.png",
}, },
{ {
name: "vector-vscode-devpack", name: "vector-vscode-devpack",
description: "Feature Rich VSCode Extension Pack created by Bravo68web", description: "Feature Rich VSCode Extension Pack created by Bravo68web",
type: "extentionPack", type: "extentionPack",
url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.vector-vscode-devpack", url: "https://marketplace.visualstudio.com/items?itemName=Bravo68web.vector-vscode-devpack",
image: image: "https://raw.githubusercontent.com/BRAVO68WEB/vector-vscode-devpack/master/icon.png",
"https://raw.githubusercontent.com/BRAVO68WEB/vector-vscode-devpack/master/icon.png",
}, },
]; ];
@ -597,504 +665,432 @@ export const qwiklabs = [
title: "Implement DevOps in Google Cloud", title: "Implement DevOps in Google Cloud",
earnDate: "Earned May 21, 2021 EDT", earnDate: "Earned May 21, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953778", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953778",
image: image: "https://cdn.qwiklabs.com/RGYLtQXngVN9TmGhbWvmyCTYdky3m3T9SZr7alsMcLg=",
"https://cdn.qwiklabs.com/RGYLtQXngVN9TmGhbWvmyCTYdky3m3T9SZr7alsMcLg=",
}, },
{ {
title: "Deploy to Kubernetes in Google Cloud", title: "Deploy to Kubernetes in Google Cloud",
earnDate: "Earned May 21, 2021 EDT", earnDate: "Earned May 21, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953549", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953549",
image: image: "https://cdn.qwiklabs.com/SFfmObf8ridNvpy2+gn/azAh3SR4tXFTBhdKpT1Ocrc=",
"https://cdn.qwiklabs.com/SFfmObf8ridNvpy2+gn/azAh3SR4tXFTBhdKpT1Ocrc=",
}, },
{ {
title: "Kubernetes in Google Cloud", title: "Kubernetes in Google Cloud",
earnDate: "Earned May 21, 2021 EDT", earnDate: "Earned May 21, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953261", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953261",
image: image: "https://cdn.qwiklabs.com/3cUZzotUhC3sWESWmiP9mofbB+cZrrX5NiKJEGZBS+4=",
"https://cdn.qwiklabs.com/3cUZzotUhC3sWESWmiP9mofbB+cZrrX5NiKJEGZBS+4=",
}, },
{ {
title: "Cloud Architecture", title: "Cloud Architecture",
earnDate: "Earned May 21, 2021 EDT", earnDate: "Earned May 21, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953041", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/953041",
image: image: "https://cdn.qwiklabs.com/I1ZuP3bdHif3qBweIZrUOJGvCOLDUARPSxhcuWLy3Lk=",
"https://cdn.qwiklabs.com/I1ZuP3bdHif3qBweIZrUOJGvCOLDUARPSxhcuWLy3Lk=",
}, },
{ {
title: "Build a Website on Google Cloud", title: "Build a Website on Google Cloud",
earnDate: "Earned May 21, 2021 EDT", earnDate: "Earned May 21, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/952979", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/952979",
image: image: "https://cdn.qwiklabs.com/SsyJLaOyTv+j8kekVYpsQj3XkIEsZ6VrUwAA3TdrZLM=",
"https://cdn.qwiklabs.com/SsyJLaOyTv+j8kekVYpsQj3XkIEsZ6VrUwAA3TdrZLM=",
}, },
{ {
title: "Website on Google Cloud", title: "Website on Google Cloud",
earnDate: "Earned May 21, 2021 EDT", earnDate: "Earned May 21, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/952980", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/952980",
image: image: "https://cdn.qwiklabs.com/SH1cI5cBW/In5JzT/YwBsYDwtoiL8/IQynRtLER9ZXo=",
"https://cdn.qwiklabs.com/SH1cI5cBW/In5JzT/YwBsYDwtoiL8/IQynRtLER9ZXo=",
}, },
{ {
title: "Deploy and Manage Cloud Environments with Google Cloud", title: "Deploy and Manage Cloud Environments with Google Cloud",
earnDate: "Earned May 17, 2021 EDT", earnDate: "Earned May 17, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/926988", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/926988",
image: image: "https://cdn.qwiklabs.com/z/6rqOh7o7nw7hj/1J/UXN8WSHYy4Zjka1F8Jc3xMBo=",
"https://cdn.qwiklabs.com/z/6rqOh7o7nw7hj/1J/UXN8WSHYy4Zjka1F8Jc3xMBo=",
}, },
{ {
title: "DevOps Essentials", title: "DevOps Essentials",
earnDate: "Earned May 14, 2021 EDT", earnDate: "Earned May 14, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/912916", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/912916",
image: image: "https://cdn.qwiklabs.com/0kN88wm9Jn/Ts6GNut2s2RhY/2vHs3jKLbL6MxZawqA=",
"https://cdn.qwiklabs.com/0kN88wm9Jn/Ts6GNut2s2RhY/2vHs3jKLbL6MxZawqA=",
}, },
{ {
title: "Network Performance and Optimization", title: "Network Performance and Optimization",
earnDate: "Earned May 14, 2021 EDT", earnDate: "Earned May 14, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/910858", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/910858",
image: image: "https://cdn.qwiklabs.com/9qikCAvRUMlQZkRAj3FqOQN00x3Jk+iA3QtkuhoRGvY=",
"https://cdn.qwiklabs.com/9qikCAvRUMlQZkRAj3FqOQN00x3Jk+iA3QtkuhoRGvY=",
}, },
{ {
title: "Create and Manage Cloud Resources", title: "Create and Manage Cloud Resources",
earnDate: "Earned May 14, 2021 EDT", earnDate: "Earned May 14, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/909902", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/909902",
image: image: "https://cdn.qwiklabs.com/qigZkhvg9KqENz/VGMdHGLby/UQ+hr1id2Cbp0GxSvs=",
"https://cdn.qwiklabs.com/qigZkhvg9KqENz/VGMdHGLby/UQ+hr1id2Cbp0GxSvs=",
}, },
{ {
title: "[DEPRECATED] Deploying Applications", title: "[DEPRECATED] Deploying Applications",
earnDate: "Earned May 14, 2021 EDT", earnDate: "Earned May 14, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/909030", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/909030",
image: image: "https://cdn.qwiklabs.com/1r8IzkgZ2ozf6jLcsKK81SdLwBzAL1f1vyuNmbXyhjE=",
"https://cdn.qwiklabs.com/1r8IzkgZ2ozf6jLcsKK81SdLwBzAL1f1vyuNmbXyhjE=",
}, },
{ {
title: "Google Cloud Computing Foundations: Cloud Computing Fundamentals", title: "Google Cloud Computing Foundations: Cloud Computing Fundamentals",
earnDate: "Earned May 13, 2021 EDT", earnDate: "Earned May 13, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/908100", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/908100",
image: image: "https://cdn.qwiklabs.com/X6BpQ/TB2C53JbD2SZyYekZHUSsJYXbyHeTf0Woudm4=",
"https://cdn.qwiklabs.com/X6BpQ/TB2C53JbD2SZyYekZHUSsJYXbyHeTf0Woudm4=",
}, },
{ {
title: "Google Cloud Essentials", title: "Google Cloud Essentials",
earnDate: "Earned May 13, 2021 EDT", earnDate: "Earned May 13, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/908015", url: "https://www.cloudskillsboost.google/public_profiles/dd51f4e2-6171-461b-888c-ce954832c72e/badges/908015",
image: image: "https://cdn.qwiklabs.com/xRejIPM4k6VgI8++2Nz5bFHFx8PwK0nn9oQofkJOsS4=",
"https://cdn.qwiklabs.com/xRejIPM4k6VgI8++2Nz5bFHFx8PwK0nn9oQofkJOsS4=",
}, },
{ {
title: "Intermediate ML: TensorFlow on Google Cloud", title: "Intermediate ML: TensorFlow on Google Cloud",
earnDate: "Earned Jun 18, 2022 EDT", earnDate: "Earned Jun 18, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2273803", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2273803",
image: image: "https://cdn.qwiklabs.com/bn3X3Y3rVZT6kQP41qoGm/oHxKWxezmhyXowIZ1ColQ=",
"https://cdn.qwiklabs.com/bn3X3Y3rVZT6kQP41qoGm/oHxKWxezmhyXowIZ1ColQ=",
}, },
{ {
title: "Intro to ML: Language Processing", title: "Intro to ML: Language Processing",
earnDate: "Earned Jun 18, 2022 EDT", earnDate: "Earned Jun 18, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2273373", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2273373",
image: image: "https://cdn.qwiklabs.com/pP4Mzjwe7NsGoAvHEldwoJVwPCm0/OQ2EF/3ZrOi4f0=",
"https://cdn.qwiklabs.com/pP4Mzjwe7NsGoAvHEldwoJVwPCm0/OQ2EF/3ZrOi4f0=",
}, },
{ {
title: "Google Cloud Solutions II: Data and Machine Learning", title: "Google Cloud Solutions II: Data and Machine Learning",
earnDate: "Earned Jun 18, 2022 EDT", earnDate: "Earned Jun 18, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2271538", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2271538",
image: image: "https://cdn.qwiklabs.com/6QZdnTt3qeI52ubuaZ/UaGVhw2PJNj19D/GkCqHpZYE=",
"https://cdn.qwiklabs.com/6QZdnTt3qeI52ubuaZ/UaGVhw2PJNj19D/GkCqHpZYE=",
}, },
{ {
title: "Scientific Data Processing", title: "Scientific Data Processing",
earnDate: "Earned Jun 18, 2022 EDT", earnDate: "Earned Jun 18, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2271060", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2271060",
image: image: "https://cdn.qwiklabs.com/f2K7LIxv+0qv5wRtdV42T89nfuB/6cxXZm+BOIjtsXA=",
"https://cdn.qwiklabs.com/f2K7LIxv+0qv5wRtdV42T89nfuB/6cxXZm+BOIjtsXA=",
}, },
{ {
title: "Cloud SQL", title: "Cloud SQL",
earnDate: "Earned Jun 18, 2022 EDT", earnDate: "Earned Jun 18, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2270680", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2270680",
image: image: "https://cdn.qwiklabs.com/LVLn2HMOHOqwpHFE+EQFON5KBbhpDJ+s/H3I+26GN6c=",
"https://cdn.qwiklabs.com/LVLn2HMOHOqwpHFE+EQFON5KBbhpDJ+s/H3I+26GN6c=",
}, },
{ {
title: "BigQuery for Marketing Analysts", title: "BigQuery for Marketing Analysts",
earnDate: "Earned Jun 17, 2022 EDT", earnDate: "Earned Jun 17, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2265875", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2265875",
image: image: "https://cdn.qwiklabs.com/wR2OjCC3caAXgdXzaRuQbgD+TU8pSxwY6m8CZFbef54=",
"https://cdn.qwiklabs.com/wR2OjCC3caAXgdXzaRuQbgD+TU8pSxwY6m8CZFbef54=",
}, },
{ {
title: "Applied Data: Blockchain", title: "Applied Data: Blockchain",
earnDate: "Earned Jun 14, 2022 EDT", earnDate: "Earned Jun 14, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2241467", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2241467",
image: image: "https://cdn.qwiklabs.com/gOBgtMPD6Vzqo3FH2fAfN0OmSRGhksEnZLxEldd9XMQ=",
"https://cdn.qwiklabs.com/gOBgtMPD6Vzqo3FH2fAfN0OmSRGhksEnZLxEldd9XMQ=",
}, },
{ {
title: "NCAA® March Madness®: Bracketology with Google Cloud", title: "NCAA® March Madness®: Bracketology with Google Cloud",
earnDate: "Earned Jun 14, 2022 EDT", earnDate: "Earned Jun 14, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2241095", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2241095",
image: image: "https://cdn.qwiklabs.com//eGmk+n644/OaI+/G+xH2DgVBGJ7W4J63youTvLUMDI=",
"https://cdn.qwiklabs.com//eGmk+n644/OaI+/G+xH2DgVBGJ7W4J63youTvLUMDI=",
}, },
{ {
title: "Create ML Models with BigQuery ML", title: "Create ML Models with BigQuery ML",
earnDate: "Earned Jun 14, 2022 EDT", earnDate: "Earned Jun 14, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2241071", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2241071",
image: image: "https://cdn.qwiklabs.com/8jACSR+qgI3p2yem69CxNAyXukexHsSAI5j2W71N+lc=",
"https://cdn.qwiklabs.com/8jACSR+qgI3p2yem69CxNAyXukexHsSAI5j2W71N+lc=",
}, },
{ {
title: "BigQuery for Machine Learning", title: "BigQuery for Machine Learning",
earnDate: "Earned Jun 14, 2022 EDT", earnDate: "Earned Jun 14, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2240973", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2240973",
image: image: "https://cdn.qwiklabs.com/J9Vhzq3bi1ZkIi0K8XD37yMRozJiWUpgnadzGeyUB6g=",
"https://cdn.qwiklabs.com/J9Vhzq3bi1ZkIi0K8XD37yMRozJiWUpgnadzGeyUB6g=",
}, },
{ {
title: "Build and Optimize Data Warehouses with BigQuery", title: "Build and Optimize Data Warehouses with BigQuery",
earnDate: "Earned Jun 14, 2022 EDT", earnDate: "Earned Jun 14, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2237828", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2237828",
image: image: "https://cdn.qwiklabs.com/pvJAPKZACj9RvUOd1IuetIiUFGEfsuGZZMkQJaI0m20=",
"https://cdn.qwiklabs.com/pvJAPKZACj9RvUOd1IuetIiUFGEfsuGZZMkQJaI0m20=",
}, },
{ {
title: "BigQuery for Data Warehousing", title: "BigQuery for Data Warehousing",
earnDate: "Earned Jun 14, 2022 EDT", earnDate: "Earned Jun 14, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2237577", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2237577",
image: image: "https://cdn.qwiklabs.com/8wZI+j18z5J5+HX7wspsQQSjLGGOlbQmx36HCAoLk/k=",
"https://cdn.qwiklabs.com/8wZI+j18z5J5+HX7wspsQQSjLGGOlbQmx36HCAoLk/k=",
}, },
{ {
title: "Engineer Data in Google Cloud", title: "Engineer Data in Google Cloud",
earnDate: "Earned Jun 12, 2022 EDT", earnDate: "Earned Jun 12, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2227376", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2227376",
image: image: "https://cdn.qwiklabs.com/KxYnffjiyPuh7QOen04Gtn09Y4B1Cb3YlWkwOYzCObc=",
"https://cdn.qwiklabs.com/KxYnffjiyPuh7QOen04Gtn09Y4B1Cb3YlWkwOYzCObc=",
}, },
{ {
title: "Data Engineering", title: "Data Engineering",
earnDate: "Earned Jun 12, 2022 EDT", earnDate: "Earned Jun 12, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2223122", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2223122",
image: image: "https://cdn.qwiklabs.com/+CsWnL49dO1EiQScypoKfAJdI8oWEgDWqu5PBt/Wepc=",
"https://cdn.qwiklabs.com/+CsWnL49dO1EiQScypoKfAJdI8oWEgDWqu5PBt/Wepc=",
}, },
{ {
title: "BigQuery Basics for Data Analysts", title: "BigQuery Basics for Data Analysts",
earnDate: "Earned Jun 12, 2022 EDT", earnDate: "Earned Jun 12, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221997", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221997",
image: image: "https://cdn.qwiklabs.com/bWAeRBJNl9ENT+//YwynddPswnVP9o2EtsDpMw4rVHc=",
"https://cdn.qwiklabs.com/bWAeRBJNl9ENT+//YwynddPswnVP9o2EtsDpMw4rVHc=",
}, },
{ {
title: "Insights from Data with BigQuery", title: "Insights from Data with BigQuery",
earnDate: "Earned Jun 12, 2022 EDT", earnDate: "Earned Jun 12, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221904", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221904",
image: image: "https://cdn.qwiklabs.com/Ob6sxQipL/04zO87+tO1xGhLBio6RiIYWAfwH+2+02g=",
"https://cdn.qwiklabs.com/Ob6sxQipL/04zO87+tO1xGhLBio6RiIYWAfwH+2+02g=",
}, },
{ {
title: "Workspace: Add-ons", title: "Workspace: Add-ons",
earnDate: "Earned Jun 12, 2022 EDT", earnDate: "Earned Jun 12, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221465", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221465",
image: image: "https://cdn.qwiklabs.com/6mwQS/shVpmYMnT1DM3N2WGuhTM9prhEU34z5GEtqQw=",
"https://cdn.qwiklabs.com/6mwQS/shVpmYMnT1DM3N2WGuhTM9prhEU34z5GEtqQw=",
}, },
{ {
title: "DEPRECATED IoT in the Google Cloud", title: "DEPRECATED IoT in the Google Cloud",
earnDate: "Earned Jun 12, 2022 EDT", earnDate: "Earned Jun 12, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221184", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2221184",
image: image: "https://cdn.qwiklabs.com/4DkSNTJag2NYO5e+fBb28zb/f1VlN6fToz56Dedd8lQ=",
"https://cdn.qwiklabs.com/4DkSNTJag2NYO5e+fBb28zb/f1VlN6fToz56Dedd8lQ=",
}, },
{ {
title: "Cloud Development", title: "Cloud Development",
earnDate: "Earned Jun 11, 2022 EDT", earnDate: "Earned Jun 11, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2220255", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2220255",
image: image: "https://cdn.qwiklabs.com/tTcM/RANi25XfZdZfnAHBAPcD41qMCtwV6qnXwlH1ek=",
"https://cdn.qwiklabs.com/tTcM/RANi25XfZdZfnAHBAPcD41qMCtwV6qnXwlH1ek=",
}, },
{ {
title: "Serverless Cloud Run Development", title: "Serverless Cloud Run Development",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2202988", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2202988",
image: image: "https://cdn.qwiklabs.com/sNVqiyyYGBc7IfiWK6bF61rRXvzAtqUUYpM7bZkv8TU=",
"https://cdn.qwiklabs.com/sNVqiyyYGBc7IfiWK6bF61rRXvzAtqUUYpM7bZkv8TU=",
}, },
{ {
title: "Google Cloud Run Serverless Workshop", title: "Google Cloud Run Serverless Workshop",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2202734", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2202734",
image: image: "https://cdn.qwiklabs.com/lNja5KgIzUzVOwxZlR8/jM2w8LOIP4fkL2NN+xzCwPw=",
"https://cdn.qwiklabs.com/lNja5KgIzUzVOwxZlR8/jM2w8LOIP4fkL2NN+xzCwPw=",
}, },
{ {
title: "Exploring APIs", title: "Exploring APIs",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2199226", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2199226",
image: image: "https://cdn.qwiklabs.com/Fcv56iHFhUUJ55ybE7WS0UNUNA0JbhYeqFvmkpFhvK8=",
"https://cdn.qwiklabs.com/Fcv56iHFhUUJ55ybE7WS0UNUNA0JbhYeqFvmkpFhvK8=",
}, },
{ {
title: "Serverless Firebase Development", title: "Serverless Firebase Development",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2198596", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2198596",
image: image: "https://cdn.qwiklabs.com/MlsX6CARxRgoB1amY8s4of0erho3BhLX+kz3lBQYthY=",
"https://cdn.qwiklabs.com/MlsX6CARxRgoB1amY8s4of0erho3BhLX+kz3lBQYthY=",
}, },
{ {
title: "Build Apps & Websites with Firebase", title: "Build Apps & Websites with Firebase",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2198432", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2198432",
image: image: "https://cdn.qwiklabs.com/JdUu8WCGmvzBQnppDxG/n1IoguiHNd0O/tdP3yWyv4Q=",
"https://cdn.qwiklabs.com/JdUu8WCGmvzBQnppDxG/n1IoguiHNd0O/tdP3yWyv4Q=",
}, },
{ {
title: "Build Interactive Apps with Google Assistant", title: "Build Interactive Apps with Google Assistant",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2197701", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2197701",
image: image: "https://cdn.qwiklabs.com/wqxQz1fDGoAkpW/DDijTordRtWY+Urol55r00wRH0Cc=",
"https://cdn.qwiklabs.com/wqxQz1fDGoAkpW/DDijTordRtWY+Urol55r00wRH0Cc=",
}, },
{ {
title: "OK Google: Build Interactive Apps with Google Assistant", title: "OK Google: Build Interactive Apps with Google Assistant",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2197492", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2197492",
image: image: "https://cdn.qwiklabs.com/iN1Y1aBXjPPUZgDdv9GtQCf/Bp0q3U/Jg9uWO6RMKoc=",
"https://cdn.qwiklabs.com/iN1Y1aBXjPPUZgDdv9GtQCf/Bp0q3U/Jg9uWO6RMKoc=",
}, },
{ {
title: "Google Developer Essentials", title: "Google Developer Essentials",
earnDate: "Earned Jun 9, 2022 EDT", earnDate: "Earned Jun 9, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2197353", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2197353",
image: image: "https://cdn.qwiklabs.com/V0I18jLPjGRqhwrDNn+I4YCq5rPoGX4lvg5DjqgwcJ0=",
"https://cdn.qwiklabs.com/V0I18jLPjGRqhwrDNn+I4YCq5rPoGX4lvg5DjqgwcJ0=",
}, },
{ {
title: "Cloud Architecture: Design, Implement, and Manage", title: "Cloud Architecture: Design, Implement, and Manage",
earnDate: "Earned Jun 8, 2022 EDT", earnDate: "Earned Jun 8, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2196594", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2196594",
image: image: "https://cdn.qwiklabs.com/p3cSmWqrO0+x2NuFSET4XD1M/EMR24a7To+oAw1Q9S8=",
"https://cdn.qwiklabs.com/p3cSmWqrO0+x2NuFSET4XD1M/EMR24a7To+oAw1Q9S8=",
}, },
{ {
title: "Monitor and Log with Google Cloud Operations Suite", title: "Monitor and Log with Google Cloud Operations Suite",
earnDate: "Earned May 23, 2022 EDT", earnDate: "Earned May 23, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2054787", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2054787",
image: image: "https://cdn.qwiklabs.com/ht3dxzalukepnESNH85pX/5ORl+yOrOBH2DoMJEoA7k=",
"https://cdn.qwiklabs.com/ht3dxzalukepnESNH85pX/5ORl+yOrOBH2DoMJEoA7k=",
}, },
{ {
title: "Build a Website on Google Cloud", title: "Build a Website on Google Cloud",
earnDate: "Earned May 17, 2022 EDT", earnDate: "Earned May 17, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2012479", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2012479",
image: image: "https://cdn.qwiklabs.com/SsyJLaOyTv+j8kekVYpsQj3XkIEsZ6VrUwAA3TdrZLM=",
"https://cdn.qwiklabs.com/SsyJLaOyTv+j8kekVYpsQj3XkIEsZ6VrUwAA3TdrZLM=",
}, },
{ {
title: "Baseline: Deploy & Develop", title: "Baseline: Deploy & Develop",
earnDate: "Earned May 16, 2022 EDT", earnDate: "Earned May 16, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2004846", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2004846",
image: image: "https://cdn.qwiklabs.com/hYiMA4VF+4Ud25kDvrO6jCax5PcuNyrURzlom/B3Emw=",
"https://cdn.qwiklabs.com/hYiMA4VF+4Ud25kDvrO6jCax5PcuNyrURzlom/B3Emw=",
}, },
{ {
title: "Website on Google Cloud", title: "Website on Google Cloud",
earnDate: "Earned May 16, 2022 EDT", earnDate: "Earned May 16, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2004513", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/2004513",
image: image: "https://cdn.qwiklabs.com/SH1cI5cBW/In5JzT/YwBsYDwtoiL8/IQynRtLER9ZXo=",
"https://cdn.qwiklabs.com/SH1cI5cBW/In5JzT/YwBsYDwtoiL8/IQynRtLER9ZXo=",
}, },
{ {
title: "Google Cloud's Operations Suite", title: "Google Cloud's Operations Suite",
earnDate: "Earned May 6, 2022 EDT", earnDate: "Earned May 6, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1923812", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1923812",
image: image: "https://cdn.qwiklabs.com/dm0Hz9Vg2Nvvrsq3y1aCFz4xP1FoI6srK/qVJDqfdHo=",
"https://cdn.qwiklabs.com/dm0Hz9Vg2Nvvrsq3y1aCFz4xP1FoI6srK/qVJDqfdHo=",
}, },
{ {
title: "Perform Foundational Infrastructure Tasks in Google Cloud", title: "Perform Foundational Infrastructure Tasks in Google Cloud",
earnDate: "Earned May 2, 2022 EDT", earnDate: "Earned May 2, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900901", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900901",
image: image: "https://cdn.qwiklabs.com/SOUHCWvev6HmfC5QztXJd+CkSK8+3WGWg+F/ww/fqXA=",
"https://cdn.qwiklabs.com/SOUHCWvev6HmfC5QztXJd+CkSK8+3WGWg+F/ww/fqXA=",
}, },
{ {
title: "Understanding Your Google Cloud Costs", title: "Understanding Your Google Cloud Costs",
earnDate: "Earned May 2, 2022 EDT", earnDate: "Earned May 2, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900756", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900756",
image: image: "https://cdn.qwiklabs.com/2GxKzUeZdj8jB1tlIej4wSVJ2V2INW5ea39KqWuRZzE=",
"https://cdn.qwiklabs.com/2GxKzUeZdj8jB1tlIej4wSVJ2V2INW5ea39KqWuRZzE=",
}, },
{ {
title: "Build and Secure Networks in Google Cloud", title: "Build and Secure Networks in Google Cloud",
earnDate: "Earned May 2, 2022 EDT", earnDate: "Earned May 2, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900473", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900473",
image: image: "https://cdn.qwiklabs.com/fUkNC8Ujw5C3fdqhXntXppEGL+upKOgvE42GWf4Oo68=",
"https://cdn.qwiklabs.com/fUkNC8Ujw5C3fdqhXntXppEGL+upKOgvE42GWf4Oo68=",
}, },
{ {
title: "Google Cloud Solutions I: Scaling Your Infrastructure", title: "Google Cloud Solutions I: Scaling Your Infrastructure",
earnDate: "Earned May 2, 2022 EDT", earnDate: "Earned May 2, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900095", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1900095",
image: image: "https://cdn.qwiklabs.com/ZJMZcere2fWYjqyr7gATsfmo9p7t2Hx/Gg0CCY3gLLU=",
"https://cdn.qwiklabs.com/ZJMZcere2fWYjqyr7gATsfmo9p7t2Hx/Gg0CCY3gLLU=",
}, },
{ {
title: "Networking Fundamentals in Google Cloud ", title: "Networking Fundamentals in Google Cloud ",
earnDate: "Earned May 2, 2022 EDT", earnDate: "Earned May 2, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1899984", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1899984",
image: image: "https://cdn.qwiklabs.com/07Ua8YRAr/1RypstXT/raoI72q+0IDzPoSsdnBfBmzY=",
"https://cdn.qwiklabs.com/07Ua8YRAr/1RypstXT/raoI72q+0IDzPoSsdnBfBmzY=",
}, },
{ {
title: "Implement DevOps in Google Cloud", title: "Implement DevOps in Google Cloud",
earnDate: "Earned May 1, 2022 EDT", earnDate: "Earned May 1, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1890814", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1890814",
image: image: "https://cdn.qwiklabs.com/RGYLtQXngVN9TmGhbWvmyCTYdky3m3T9SZr7alsMcLg=",
"https://cdn.qwiklabs.com/RGYLtQXngVN9TmGhbWvmyCTYdky3m3T9SZr7alsMcLg=",
}, },
{ {
title: "Deploy to Kubernetes in Google Cloud", title: "Deploy to Kubernetes in Google Cloud",
earnDate: "Earned May 1, 2022 EDT", earnDate: "Earned May 1, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1890209", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1890209",
image: image: "https://cdn.qwiklabs.com/SFfmObf8ridNvpy2+gn/azAh3SR4tXFTBhdKpT1Ocrc=",
"https://cdn.qwiklabs.com/SFfmObf8ridNvpy2+gn/azAh3SR4tXFTBhdKpT1Ocrc=",
}, },
{ {
title: "Set Up and Configure a Cloud Environment in Google Cloud", title: "Set Up and Configure a Cloud Environment in Google Cloud",
earnDate: "Earned May 1, 2022 EDT", earnDate: "Earned May 1, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1889873", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1889873",
image: image: "https://cdn.qwiklabs.com/o/N83w0HEfVQYE3IF6A8C/BHph2rF/fkHlYZ51DWOr4=",
"https://cdn.qwiklabs.com/o/N83w0HEfVQYE3IF6A8C/BHph2rF/fkHlYZ51DWOr4=",
}, },
{ {
title: "DevOps Essentials", title: "DevOps Essentials",
earnDate: "Earned Apr 27, 2022 EDT", earnDate: "Earned Apr 27, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1866507", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1866507",
image: image: "https://cdn.qwiklabs.com/0kN88wm9Jn/Ts6GNut2s2RhY/2vHs3jKLbL6MxZawqA=",
"https://cdn.qwiklabs.com/0kN88wm9Jn/Ts6GNut2s2RhY/2vHs3jKLbL6MxZawqA=",
}, },
{ {
title: "Kubernetes in Google Cloud", title: "Kubernetes in Google Cloud",
earnDate: "Earned Apr 27, 2022 EDT", earnDate: "Earned Apr 27, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1866353", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1866353",
image: image: "https://cdn.qwiklabs.com/3cUZzotUhC3sWESWmiP9mofbB+cZrrX5NiKJEGZBS+4=",
"https://cdn.qwiklabs.com/3cUZzotUhC3sWESWmiP9mofbB+cZrrX5NiKJEGZBS+4=",
}, },
{ {
title: "Cloud Architecture", title: "Cloud Architecture",
earnDate: "Earned Apr 27, 2022 EDT", earnDate: "Earned Apr 27, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1863569", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1863569",
image: image: "https://cdn.qwiklabs.com/I1ZuP3bdHif3qBweIZrUOJGvCOLDUARPSxhcuWLy3Lk=",
"https://cdn.qwiklabs.com/I1ZuP3bdHif3qBweIZrUOJGvCOLDUARPSxhcuWLy3Lk=",
}, },
{ {
title: "Cloud Engineering", title: "Cloud Engineering",
earnDate: "Earned Apr 26, 2022 EDT", earnDate: "Earned Apr 26, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862677", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862677",
image: image: "https://cdn.qwiklabs.com/kuBgucU/wbX9lkaNZfxQERQoa411Wr1xJ88uoYbpgT0=",
"https://cdn.qwiklabs.com/kuBgucU/wbX9lkaNZfxQERQoa411Wr1xJ88uoYbpgT0=",
}, },
{ {
title: "Create and Manage Cloud Resources", title: "Create and Manage Cloud Resources",
earnDate: "Earned Apr 26, 2022 EDT", earnDate: "Earned Apr 26, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862537", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862537",
image: image: "https://cdn.qwiklabs.com/qigZkhvg9KqENz/VGMdHGLby/UQ+hr1id2Cbp0GxSvs=",
"https://cdn.qwiklabs.com/qigZkhvg9KqENz/VGMdHGLby/UQ+hr1id2Cbp0GxSvs=",
}, },
{ {
title: "Baseline: Infrastructure", title: "Baseline: Infrastructure",
earnDate: "Earned Apr 26, 2022 EDT", earnDate: "Earned Apr 26, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862458", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862458",
image: image: "https://cdn.qwiklabs.com/Eg/SbOy66StYJSJgDWYLrHAMVb/28ZfyndLzHYtQPeA=",
"https://cdn.qwiklabs.com/Eg/SbOy66StYJSJgDWYLrHAMVb/28ZfyndLzHYtQPeA=",
}, },
{ {
title: "Google Cloud Essentials", title: "Google Cloud Essentials",
earnDate: "Earned Apr 26, 2022 EDT", earnDate: "Earned Apr 26, 2022 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862284", url: "https://www.cloudskillsboost.google/public_profiles/d541db65-d9a1-4e89-9c16-0f2f98de84a4/badges/1862284",
image: image: "https://cdn.qwiklabs.com/xRejIPM4k6VgI8++2Nz5bFHFx8PwK0nn9oQofkJOsS4=",
"https://cdn.qwiklabs.com/xRejIPM4k6VgI8++2Nz5bFHFx8PwK0nn9oQofkJOsS4=",
}, },
{ {
title: "Engineer Data in Google Cloud", title: "Engineer Data in Google Cloud",
earnDate: "Earned Oct 12, 2021 EDT", earnDate: "Earned Oct 12, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1336298", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1336298",
image: image: "https://cdn.qwiklabs.com/KxYnffjiyPuh7QOen04Gtn09Y4B1Cb3YlWkwOYzCObc=",
"https://cdn.qwiklabs.com/KxYnffjiyPuh7QOen04Gtn09Y4B1Cb3YlWkwOYzCObc=",
}, },
{ {
title: "Insights from Data with BigQuery", title: "Insights from Data with BigQuery",
earnDate: "Earned Oct 10, 2021 EDT", earnDate: "Earned Oct 10, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1324551", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1324551",
image: image: "https://cdn.qwiklabs.com/Ob6sxQipL/04zO87+tO1xGhLBio6RiIYWAfwH+2+02g=",
"https://cdn.qwiklabs.com/Ob6sxQipL/04zO87+tO1xGhLBio6RiIYWAfwH+2+02g=",
}, },
{ {
title: "Deploy and Manage Cloud Environments with Google Cloud", title: "Deploy and Manage Cloud Environments with Google Cloud",
earnDate: "Earned Oct 10, 2021 EDT", earnDate: "Earned Oct 10, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1322744", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1322744",
image: image: "https://cdn.qwiklabs.com/z/6rqOh7o7nw7hj/1J/UXN8WSHYy4Zjka1F8Jc3xMBo=",
"https://cdn.qwiklabs.com/z/6rqOh7o7nw7hj/1J/UXN8WSHYy4Zjka1F8Jc3xMBo=",
}, },
{ {
title: "Build and Secure Networks in Google Cloud", title: "Build and Secure Networks in Google Cloud",
earnDate: "Earned Oct 8, 2021 EDT", earnDate: "Earned Oct 8, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1300339", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1300339",
image: image: "https://cdn.qwiklabs.com/fUkNC8Ujw5C3fdqhXntXppEGL+upKOgvE42GWf4Oo68=",
"https://cdn.qwiklabs.com/fUkNC8Ujw5C3fdqhXntXppEGL+upKOgvE42GWf4Oo68=",
}, },
{ {
title: "Deploy to Kubernetes in Google Cloud", title: "Deploy to Kubernetes in Google Cloud",
earnDate: "Earned Oct 7, 2021 EDT", earnDate: "Earned Oct 7, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1295426", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1295426",
image: image: "https://cdn.qwiklabs.com/SFfmObf8ridNvpy2+gn/azAh3SR4tXFTBhdKpT1Ocrc=",
"https://cdn.qwiklabs.com/SFfmObf8ridNvpy2+gn/azAh3SR4tXFTBhdKpT1Ocrc=",
}, },
{ {
title: "Set Up and Configure a Cloud Environment in Google Cloud", title: "Set Up and Configure a Cloud Environment in Google Cloud",
earnDate: "Earned Oct 6, 2021 EDT", earnDate: "Earned Oct 6, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1284996", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1284996",
image: image: "https://cdn.qwiklabs.com/o/N83w0HEfVQYE3IF6A8C/BHph2rF/fkHlYZ51DWOr4=",
"https://cdn.qwiklabs.com/o/N83w0HEfVQYE3IF6A8C/BHph2rF/fkHlYZ51DWOr4=",
}, },
{ {
title: "Perform Foundational Infrastructure Tasks in Google Cloud", title: "Perform Foundational Infrastructure Tasks in Google Cloud",
earnDate: "Earned Oct 4, 2021 EDT", earnDate: "Earned Oct 4, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1267552", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1267552",
image: image: "https://cdn.qwiklabs.com/SOUHCWvev6HmfC5QztXJd+CkSK8+3WGWg+F/ww/fqXA=",
"https://cdn.qwiklabs.com/SOUHCWvev6HmfC5QztXJd+CkSK8+3WGWg+F/ww/fqXA=",
}, },
{ {
title: "Integrate with Machine Learning APIs", title: "Integrate with Machine Learning APIs",
earnDate: "Earned Oct 2, 2021 EDT", earnDate: "Earned Oct 2, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1252426", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1252426",
image: image: "https://cdn.qwiklabs.com/h/CMZVTG3/g7X2zuSD5nF2/GTVTrwrgQ6cWd6G6THFg=",
"https://cdn.qwiklabs.com/h/CMZVTG3/g7X2zuSD5nF2/GTVTrwrgQ6cWd6G6THFg=",
}, },
{ {
title: "DEPRECATED Explore Machine Learning Models with Explainable AI", title: "DEPRECATED Explore Machine Learning Models with Explainable AI",
earnDate: "Earned Sep 27, 2021 EDT", earnDate: "Earned Sep 27, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1221140", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1221140",
image: image: "https://cdn.qwiklabs.com/0bSya3/5VLUuF1UhSN5g8ARZbhzm24GCBuxZ/NeuSzw=",
"https://cdn.qwiklabs.com/0bSya3/5VLUuF1UhSN5g8ARZbhzm24GCBuxZ/NeuSzw=",
}, },
{ {
title: "Perform Foundational Data, ML, and AI Tasks in Google Cloud", title: "Perform Foundational Data, ML, and AI Tasks in Google Cloud",
earnDate: "Earned Sep 26, 2021 EDT", earnDate: "Earned Sep 26, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1212441", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1212441",
image: image: "https://cdn.qwiklabs.com/+fUNwBxkIaRRdkzbDGS6GW+BbMbyXO6F+Jg+3QrSXeA=",
"https://cdn.qwiklabs.com/+fUNwBxkIaRRdkzbDGS6GW+BbMbyXO6F+Jg+3QrSXeA=",
}, },
{ {
title: "Create and Manage Cloud Resources", title: "Create and Manage Cloud Resources",
earnDate: "Earned Sep 25, 2021 EDT", earnDate: "Earned Sep 25, 2021 EDT",
url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1208738", url: "https://www.cloudskillsboost.google/public_profiles/293e000c-f58c-4119-b60b-e0e7a769e61f/badges/1208738",
image: image: "https://cdn.qwiklabs.com/qigZkhvg9KqENz/VGMdHGLby/UQ+hr1id2Cbp0GxSvs=",
"https://cdn.qwiklabs.com/qigZkhvg9KqENz/VGMdHGLby/UQ+hr1id2Cbp0GxSvs=",
}, },
]; ];

View File

@ -1,68 +1,60 @@
import {useEffect,useState} from "react" import { useEffect, useState } from "react";
import axios from "../handlers/axios" import axios from "../handlers/axios";
const parseSong = ( const parseSong = (body, imageSize) => {
body,
imageSize,
) => {
if (!body) { if (!body) {
return { return {
status: 'connecting', status: "connecting",
song: null, song: null,
}; };
} }
const lastSong = body.recenttracks.track?.[0]; const lastSong = body.recenttracks.track?.[0];
if (!lastSong || !lastSong['@attr']?.nowplaying) { if (!lastSong || !lastSong["@attr"]?.nowplaying) {
return { return {
status: 'idle', status: "idle",
song: null, song: null,
}; };
} }
const image = lastSong.image.find(i => { const image = lastSong.image.find((i) => {
return i.size === imageSize; return i.size === imageSize;
}); });
return { return {
status: 'playing', status: "playing",
song: { song: {
name: lastSong.name, name: lastSong.name,
artist: lastSong.artist['#text'], artist: lastSong.artist["#text"],
art: image?.['#text'] ?? lastSong.image[0]['#text'], art: image?.["#text"] ?? lastSong.image[0]["#text"],
url: lastSong.url, url: lastSong.url,
album: lastSong.album['#text'], album: lastSong.album["#text"],
}, },
}; };
} };
const useLastFM = () => { const useLastFM = () => {
const [status,setStatus] = useState("idle") const [status, setStatus] = useState("idle");
const [song, setSong] = useState(); const [song, setSong] = useState();
const getStatus = async () => { const getStatus = async () => {
axios.get("/me/lastfm/current").then((res) => { axios.get("/me/lastfm/current").then((res) => {
const {status, song}= const { status, song } = parseSong(res.data, "extralarge");
parseSong(res.data, "extralarge") setSong(song);
setSong(song) setStatus(status);
setStatus(status) });
}) };
}
useEffect(() => { useEffect(() => {
const interval = setInterval(() => { const interval = setInterval(() => {
getStatus() getStatus();
}, 3000) }, 3000);
return () => clearInterval(interval) return () => clearInterval(interval);
}, []);
},[]) return { status, song };
};
return {status,song} export default useLastFM;
}
export default useLastFM

View File

@ -2,22 +2,39 @@ export default function parse(data) {
const output = {}; const output = {};
const act = []; const act = [];
const PrirorityActivityType = ['Coding', 'Listening to Spotify', 'Playing', 'Custom Status', 'Streaming', 'Watching', 'Competing', 'Unknown']; const PrirorityActivityType = [
"Coding",
"Listening to Spotify",
"Playing",
"Custom Status",
"Streaming",
"Watching",
"Competing",
"Unknown",
];
output.discord = { output.discord = {
id: data.discord_user.id, id: data.discord_user.id,
username: data.discord_user.username, username: data.discord_user.username,
discriminator: data.discord_user.discriminator, discriminator: data.discord_user.discriminator,
avatar_url: "https://cdn.discordapp.com/avatars/" + data.discord_user.id + "/" + data.discord_user.avatar + ".png", avatar_url:
avatar_decoration_url: "https://cdn.discordapp.com/avatar-decoration-presets/" + data.discord_user.avatar_decoration + ".png" "https://cdn.discordapp.com/avatars/" +
} data.discord_user.id +
"/" +
data.discord_user.avatar +
".png",
avatar_decoration_url:
"https://cdn.discordapp.com/avatar-decoration-presets/" +
data.discord_user.avatar_decoration +
".png",
};
output.kv = data.kv; output.kv = data.kv;
if (data.discord_status == "offline") { if (data.discord_status == "offline") {
return { return {
discord_status: "offline", discord_status: "offline",
} };
} }
if (data.listening_to_spotify) { if (data.listening_to_spotify) {
@ -27,33 +44,31 @@ export default function parse(data) {
song: data.spotify.song, song: data.spotify.song,
album_art_url: data.spotify.album_art_url, album_art_url: data.spotify.album_art_url,
timestamps: data.spotify.timestamps, timestamps: data.spotify.timestamps,
track_id: data.spotify.track_id track_id: data.spotify.track_id,
} };
} }
for (const activity of data.activities) { for (const activity of data.activities) {
if (activity.name.includes("Visual Studio Code")) { if (activity.name.includes("Visual Studio Code")) {
act.push({ act.push({
prirority_id: PrirorityActivityType.indexOf('Coding'), prirority_id: PrirorityActivityType.indexOf("Coding"),
...activity ...activity,
}); });
} } else if (activity.name.includes("Spotify")) {
else if(activity.name.includes("Spotify")){
act.push({ act.push({
prirority_id: PrirorityActivityType.indexOf('Listening to Spotify'), prirority_id: PrirorityActivityType.indexOf(
...activity "Listening to Spotify"
),
...activity,
}); });
} } else if (activity.type === 0) {
else if(activity.type === 0){
act.push({ act.push({
prirority_id: PrirorityActivityType.indexOf('Playing'), prirority_id: PrirorityActivityType.indexOf("Playing"),
...activity ...activity,
}); });
} } else if (activity.name.includes("Custom Status")) {
else if(activity.name.includes("Custom Status")){
act.push({ act.push({
prirority_id: PrirorityActivityType.indexOf('Custom Status'), prirority_id: PrirorityActivityType.indexOf("Custom Status"),
...activity ...activity,
}); });
output.custom_status = { output.custom_status = {
state: activity.state, state: activity.state,
@ -61,14 +76,16 @@ export default function parse(data) {
name: activity.emoji?.name, name: activity.emoji?.name,
id: activity.emoji?.id, id: activity.emoji?.id,
animated: activity.emoji?.animated, animated: activity.emoji?.animated,
emoji_url: "https://cdn.discordapp.com/emojis/" + activity.emoji?.id + ".webp?size=44&quality=lossless" emoji_url:
} "https://cdn.discordapp.com/emojis/" +
activity.emoji?.id +
".webp?size=44&quality=lossless",
},
}; };
} } else {
else {
act.push({ act.push({
prirority_id: PrirorityActivityType.indexOf('Unknown'), prirority_id: PrirorityActivityType.indexOf("Unknown"),
...activity ...activity,
}); });
break; break;
} }
@ -81,22 +98,28 @@ export default function parse(data) {
if (output.activity?.prirority_id == 1) { if (output.activity?.prirority_id == 1) {
output.activity.assets = { output.activity.assets = {
large_image: output.spotify.album_art_url, large_image: output.spotify.album_art_url,
small_image : "/images/brandlogos/SpotifyLogo.png" small_image: "/images/brandlogos/SpotifyLogo.png",
} };
} } else if (output.activity?.prirority_id == 3) {
else if(output.activity?.prirority_id == 3){
output.activity.assets = { output.activity.assets = {
large_image: "/images/anime-profile-pic.png", large_image: "/images/anime-profile-pic.png",
small_image: output.custom_status.emoji.emoji_url, small_image: output.custom_status.emoji.emoji_url,
} };
} } else {
else {
output.activity.assets = { output.activity.assets = {
large_image : "https://cdn.discordapp.com/app-assets/"+output.activity.application_id+"/"+output.activity.assets.large_image+".png", large_image:
small_image : "https://cdn.discordapp.com/app-assets/"+output.activity.application_id+"/"+output.activity.assets.small_image+".png", "https://cdn.discordapp.com/app-assets/" +
} output.activity.application_id +
"/" +
output.activity.assets.large_image +
".png",
small_image:
"https://cdn.discordapp.com/app-assets/" +
output.activity.application_id +
"/" +
output.activity.assets.small_image +
".png",
};
} }
return output; return output;

View File

@ -1,8 +1,6 @@
import "../styles/globals.css"; import "../styles/globals.css";
// import CustomCursor from "components/providers/cursor"; // import CustomCursor from "components/providers/cursor";
import ErrorBoundary from '../components/errorBoundary' import ErrorBoundary from "../components/errorBoundary";
function MyPortfolio({ Component, pageProps }) { function MyPortfolio({ Component, pageProps }) {
return ( return (

View File

@ -46,7 +46,10 @@ export default class MyDocument extends Document {
content="Jyotirmoy Bandyopadhayaya | Bravo68web" content="Jyotirmoy Bandyopadhayaya | Bravo68web"
/> />
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
<link rel="preconnect" href="https://fonts.googleapis.com" /> <link
rel="preconnect"
href="https://fonts.googleapis.com"
/>
<link rel="preconnect" href="https://fonts.gstatic.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" />
<link <link
href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&display=swap"

View File

@ -8,8 +8,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
About | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and About | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer
DevOps Engineer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -8,8 +8,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Contact | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and Contact | Jyotirmoy Bandyopadhayaya | Full Stack Web
DevOps Engineer Developer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

21
pages/exps.js Normal file
View File

@ -0,0 +1,21 @@
import Head from "next/head";
import Nav from "components/nav";
import About from "components/experinces";
import Footer from "components/footer";
export default function Home() {
return (
<div>
<Head>
<title>
About | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer
and DevOps Engineer
</title>
</Head>
<Nav />
<About />
{/* <Footer /> */}
</div>
);
}

View File

@ -8,8 +8,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Extras | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and Extras | Jyotirmoy Bandyopadhayaya | Full Stack Web
DevOps Engineer Developer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -8,8 +8,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and DevOps Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and
Engineer DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -7,8 +7,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Projects | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and Projects | Jyotirmoy Bandyopadhayaya | Full Stack Web
DevOps Engineer Developer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -7,8 +7,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Projects | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and Projects | Jyotirmoy Bandyopadhayaya | Full Stack Web
DevOps Engineer Developer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -9,8 +9,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Resume | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and Resume | Jyotirmoy Bandyopadhayaya | Full Stack Web
DevOps Engineer Developer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -8,8 +8,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Stats | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and Stats | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer
DevOps Engineer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />
@ -27,4 +27,3 @@ export default function Home() {
// props:[] // props:[]
// } // }
// } // }

View File

@ -8,8 +8,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
Toots | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer and Toots | Jyotirmoy Bandyopadhayaya | Full Stack Web Developer
DevOps Engineer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -8,8 +8,8 @@ export default function Home() {
<div> <div>
<Head> <Head>
<title> <title>
VS Code Extensions | Jyotirmoy Bandyopadhayaya | Full Stack Web VS Code Extensions | Jyotirmoy Bandyopadhayaya | Full Stack
Developer and DevOps Engineer Web Developer and DevOps Engineer
</title> </title>
</Head> </Head>
<Nav /> <Nav />

View File

@ -28,8 +28,9 @@ body {
background: var(--color2); background: var(--color2);
padding: 0; padding: 0;
margin: 0; margin: 0;
font-family: var(--font), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, font-family: var(--font), -apple-system, BlinkMacSystemFont, Segoe UI,
Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue,
sans-serif;
height: 100vh; height: 100vh;
width: 100vw; width: 100vw;
/* color:var(--color3) */ /* color:var(--color3) */