patch: Minor additions + fixes
This commit is contained in:
parent
3cfd002c42
commit
451094dbda
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"tabWidth": 4,
|
||||||
|
"arrowParens": "always",
|
||||||
|
"semi": true,
|
||||||
|
"useTabs": true
|
||||||
|
}
|
|
@ -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>
|
||||||
|
|
|
@ -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 "
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
|
@ -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);
|
||||||
|
}
|
||||||
|
`;
|
|
@ -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;
|
||||||
|
|
|
@ -20,6 +20,5 @@ export default styled.div`
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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>
|
||||||
);
|
);
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -26,10 +26,6 @@ export default function Status() {
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return (
|
return <div>{status.status}</div>;
|
||||||
<div>
|
|
||||||
{(status.status)}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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">"{texts.join("\n")}"</div>
|
<div className="content">
|
||||||
|
"{texts.join("\n")}"
|
||||||
|
</div>
|
||||||
<div className="type">
|
<div className="type">
|
||||||
# {format(created_at, "DD MMM YYYY")}
|
# {format(created_at, "DD MMM YYYY")}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -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 && (
|
||||||
|
|
|
@ -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;
|
||||||
`
|
`;
|
||||||
|
|
|
@ -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
394
config.js
|
@ -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=",
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 (
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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>
|
||||||
|
);
|
||||||
|
}
|
|
@ -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 />
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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:[]
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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 />
|
||||||
|
|
|
@ -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) */
|
||||||
|
|
Loading…
Reference in New Issue