@turnipxenon/pineapple 2.4.74 → 2.4.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/workspace.xml +50 -42
- package/.svelte-kit/__package__/components/PineappleSlideToggle.svelte +3 -1
- package/.svelte-kit/__package__/components/PineappleSlideToggle.svelte.d.ts +1 -0
- package/.svelte-kit/__package__/components/index.d.ts +6 -0
- package/.svelte-kit/__package__/components/index.js +7 -0
- package/.svelte-kit/__package__/index.d.ts +2 -7
- package/.svelte-kit/__package__/index.js +2 -7
- package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte +6 -1
- package/.svelte-kit/__package__/template/seaweed/SeaweedTemplateData.js +0 -6
- package/.svelte-kit/__package__/template/seaweed/entries/EntryProps.d.ts +0 -1
- package/.svelte-kit/__package__/template/seaweed/entries/WorkExperience.svelte +22 -52
- package/.svelte-kit/__package__/template/seaweed/index.d.ts +4 -0
- package/.svelte-kit/__package__/template/seaweed/index.js +4 -0
- package/.svelte-kit/generated/server/internal.js +1 -1
- package/dist/components/PineappleSlideToggle.svelte +3 -1
- package/dist/components/PineappleSlideToggle.svelte.d.ts +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +7 -0
- package/dist/index.d.ts +2 -7
- package/dist/index.js +2 -7
- package/dist/template/seaweed/SeaweedTemplate.svelte +6 -1
- package/dist/template/seaweed/SeaweedTemplateData.js +0 -6
- package/dist/template/seaweed/entries/EntryProps.d.ts +0 -1
- package/dist/template/seaweed/entries/WorkExperience.svelte +22 -52
- package/dist/template/seaweed/index.d.ts +4 -0
- package/dist/template/seaweed/index.js +4 -0
- package/package.json +1 -1
- package/src/lib/components/PineappleSlideToggle.svelte +3 -1
- package/src/lib/components/index.ts +8 -0
- package/src/lib/index.ts +2 -7
- package/src/lib/template/seaweed/SeaweedTemplate.svelte +6 -1
- package/src/lib/template/seaweed/SeaweedTemplateData.ts +1 -7
- package/src/lib/template/seaweed/entries/EntryProps.ts +0 -1
- package/src/lib/template/seaweed/entries/WorkExperience.svelte +22 -52
- package/src/lib/template/seaweed/index.ts +4 -0
- package/.svelte-kit/__package__/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -52
- package/.svelte-kit/__package__/template/seaweed/entries/DecentralizedSocialMedia.svelte.d.ts +0 -17
- package/.svelte-kit/__package__/template/seaweed/entries/FullStackC.svelte +0 -33
- package/.svelte-kit/__package__/template/seaweed/entries/FullStackC.svelte.d.ts +0 -17
- package/.svelte-kit/__package__/template/seaweed/entries/ItchPromo.svelte +0 -21
- package/.svelte-kit/__package__/template/seaweed/entries/ItchPromo.svelte.d.ts +0 -17
- package/.svelte-kit/__package__/template/seaweed/entries/MigranteAlberta.svelte +0 -54
- package/.svelte-kit/__package__/template/seaweed/entries/MigranteAlberta.svelte.d.ts +0 -17
- package/.svelte-kit/__package__/template/seaweed/entries/MockUberApp.svelte +0 -35
- package/.svelte-kit/__package__/template/seaweed/entries/MockUberApp.svelte.d.ts +0 -17
- package/dist/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -52
- package/dist/template/seaweed/entries/DecentralizedSocialMedia.svelte.d.ts +0 -17
- package/dist/template/seaweed/entries/FullStackC.svelte +0 -33
- package/dist/template/seaweed/entries/FullStackC.svelte.d.ts +0 -17
- package/dist/template/seaweed/entries/ItchPromo.svelte +0 -21
- package/dist/template/seaweed/entries/ItchPromo.svelte.d.ts +0 -17
- package/dist/template/seaweed/entries/MigranteAlberta.svelte +0 -54
- package/dist/template/seaweed/entries/MigranteAlberta.svelte.d.ts +0 -17
- package/dist/template/seaweed/entries/MockUberApp.svelte +0 -35
- package/dist/template/seaweed/entries/MockUberApp.svelte.d.ts +0 -17
- package/src/lib/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -54
- package/src/lib/template/seaweed/entries/FullStackC.svelte +0 -36
- package/src/lib/template/seaweed/entries/ItchPromo.svelte +0 -23
- package/src/lib/template/seaweed/entries/MigranteAlberta.svelte +0 -62
- package/src/lib/template/seaweed/entries/MockUberApp.svelte +0 -38
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script>import SocialSection from "../../../components/SocialSection.svelte";
|
|
2
2
|
import Card from "../../../components/Card.svelte";
|
|
3
3
|
import { Accordion, AccordionItem } from "@skeletonlabs/skeleton";
|
|
4
|
-
import
|
|
4
|
+
import ElementVisibilityDetector from "../../../components/ElementVisbilityDetector.svelte";
|
|
5
5
|
export let entryProps;
|
|
6
6
|
export let isVisible;
|
|
7
|
-
let { email, letChaos, linkedinSlug, name
|
|
7
|
+
let { email, letChaos, linkedinSlug, name } = entryProps;
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
10
|
<div class="experience-and-about-div">
|
|
@@ -26,7 +26,7 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
|
|
|
26
26
|
I also graduated with BS Computing Science, Specializing in Software Practice, and a
|
|
27
27
|
certificate in Computer Game Development at University of Alberta.
|
|
28
28
|
</p>
|
|
29
|
-
{#if seaweedTemplateData
|
|
29
|
+
{#if entryProps.seaweedTemplateData.shouldAddFunNote}
|
|
30
30
|
<p>
|
|
31
31
|
I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
|
|
32
32
|
Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
|
|
@@ -41,8 +41,8 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
|
|
|
41
41
|
<Card>
|
|
42
42
|
<section class="section-card" slot="content">
|
|
43
43
|
<SocialSection email={email} linkedinSlug={linkedinSlug}></SocialSection>
|
|
44
|
-
<
|
|
45
|
-
</
|
|
44
|
+
<ElementVisibilityDetector bind:isVisible={isVisible}>
|
|
45
|
+
</ElementVisibilityDetector>
|
|
46
46
|
</section>
|
|
47
47
|
</Card>
|
|
48
48
|
|
|
@@ -53,31 +53,19 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
|
|
|
53
53
|
<h1>Experience</h1>
|
|
54
54
|
|
|
55
55
|
<h2>Highlight</h2>
|
|
56
|
-
<p>
|
|
57
|
-
active users</b> at Twitch (an Amazon Web Services subsidiary)</p>
|
|
56
|
+
<p>I like French Fries</p>
|
|
58
57
|
|
|
59
58
|
<h2>Software Engineer</h2>
|
|
60
59
|
<div class="two-column-separated">
|
|
61
60
|
<div>July 2023 – January 2024</div>
|
|
62
|
-
<div style="text-align: end">
|
|
61
|
+
<div style="text-align: end">Control, Remote</div>
|
|
63
62
|
</div>
|
|
64
63
|
<ul>
|
|
65
64
|
<li>
|
|
66
|
-
|
|
67
|
-
<span class="qt-go">Golang</span>
|
|
68
|
-
microservices and
|
|
69
|
-
<span class="qt-ts">Typescript</span>
|
|
70
|
-
<span class="qt-react">React</span> codebases, across several teams, to accommodate public-facing user safety features to better comply with EU’s Digital Services Act, which applies to no more than
|
|
71
|
-
<a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
|
|
72
|
-
. Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
|
|
65
|
+
Developed things
|
|
73
66
|
</li>
|
|
74
67
|
<li>
|
|
75
|
-
|
|
76
|
-
<span class="qt-aws qt-observability">Cloudwatch</span>,
|
|
77
|
-
<span class="qt-aws qt-observability">Grafana</span>,
|
|
78
|
-
<span class="qt-aws">Kinesis Data Stream</span>,
|
|
79
|
-
<span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
|
|
80
|
-
<span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
|
|
68
|
+
Woah
|
|
81
69
|
</li>
|
|
82
70
|
</ul>
|
|
83
71
|
<br>
|
|
@@ -85,24 +73,14 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
|
|
|
85
73
|
<h2>Software Engineer Intern</h2>
|
|
86
74
|
<div class="two-column-separated">
|
|
87
75
|
<div>May 2022 – Aug 2022</div>
|
|
88
|
-
<div style="text-align: end">
|
|
76
|
+
<div style="text-align: end">Pou Company</div>
|
|
89
77
|
</div>
|
|
90
78
|
<ul>
|
|
91
79
|
<li>
|
|
92
|
-
|
|
93
|
-
message types at different volumes that can be easily extended to target different chat services
|
|
80
|
+
Stuff
|
|
94
81
|
</li>
|
|
95
82
|
<li>
|
|
96
|
-
|
|
97
|
-
service with business logic written in <span class="qt-go">Go</span> and cloud infrastructure utilizing
|
|
98
|
-
<span
|
|
99
|
-
class="qt-infra qt-aws">ECS on Fargate, Cloudwatch, and DynamoDB</span>
|
|
100
|
-
, defined in <span class="qt-ts">Typescript</span>-flavored CDK
|
|
101
|
-
</li>
|
|
102
|
-
<li>
|
|
103
|
-
Wrote a technical specification document for the service’s MVP and possible future features, and
|
|
104
|
-
additional documentation on how to use the service and how to extend the load testing service to include
|
|
105
|
-
new services to test
|
|
83
|
+
Golang
|
|
106
84
|
</li>
|
|
107
85
|
</ul>
|
|
108
86
|
<br>
|
|
@@ -114,24 +92,16 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
|
|
|
114
92
|
</div>
|
|
115
93
|
<svelte:fragment slot="content">
|
|
116
94
|
<section class="more-section">
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
<div
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
<
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
<span class="qt-ts">Typescript</span>
|
|
128
|
-
<span class="qt-react">React</span> frontend web app that will help suggest security improvements to
|
|
129
|
-
<b>over 100k+ users daily</b>
|
|
130
|
-
</li>
|
|
131
|
-
</ul>
|
|
132
|
-
{:else}
|
|
133
|
-
niko baikal seal from toba aquarium
|
|
134
|
-
{/if}
|
|
95
|
+
<h2>Software Engineer Intern</h2>
|
|
96
|
+
<div class="two-column-separated">
|
|
97
|
+
<div>May 2021 – Dec 2021</div>
|
|
98
|
+
<div style="text-align: end">Testing</div>
|
|
99
|
+
</div>
|
|
100
|
+
<ul>
|
|
101
|
+
<li>
|
|
102
|
+
Amazing
|
|
103
|
+
</li>
|
|
104
|
+
</ul>
|
|
135
105
|
<br>
|
|
136
106
|
</section>
|
|
137
107
|
</svelte:fragment>
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
export let checked = false;
|
|
3
3
|
export let name: string;
|
|
4
|
+
export let onChange: undefined | (() => void) = undefined;
|
|
4
5
|
|
|
5
6
|
import { SlideToggle } from "@skeletonlabs/skeleton";
|
|
6
7
|
</script>
|
|
7
8
|
|
|
8
9
|
<SlideToggle name={name}
|
|
9
10
|
background="bg-surface-700 dark:bg-surface-700"
|
|
10
|
-
bind:checked={checked}
|
|
11
|
+
bind:checked={checked}
|
|
12
|
+
on:change={onChange}>
|
|
11
13
|
<slot />
|
|
12
14
|
</SlideToggle>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// noinspection JSUnusedGlobalSymbols
|
|
2
|
+
|
|
3
|
+
export { default as LazyAsset } from "./LazyAsset.svelte";
|
|
4
|
+
export { default as Card } from "./Card.svelte";
|
|
5
|
+
export { default as Chip } from "./chip/Chip.svelte";
|
|
6
|
+
export { default as PineappleSlideToggle } from "./PineappleSlideToggle.svelte";
|
|
7
|
+
export { default as SocialSection } from "./SocialSection.svelte";
|
|
8
|
+
export { default as ElementVisbilityDetector } from "./ElementVisbilityDetector.svelte";
|
package/src/lib/index.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
// noinspection JSUnusedGlobalSymbols
|
|
2
2
|
|
|
3
3
|
export { default as PineappleLayoutBase } from "./components/pineapple/PineappleBaseLayout.svelte";
|
|
4
|
-
export { default as SeaweedTemplate } from "$pkg/template/seaweed/SeaweedTemplate.svelte";
|
|
5
|
-
export { default as LazyAsset } from "./components/LazyAsset.svelte";
|
|
6
|
-
export { default as Card } from "./components/Card.svelte";
|
|
7
|
-
export { default as Chip } from "./components/chip/Chip.svelte";
|
|
8
|
-
export { default as PineappleSlideToggle } from "./components/PineappleSlideToggle.svelte";
|
|
9
|
-
export { default as SocialSection } from "./components/SocialSection.svelte";
|
|
10
4
|
|
|
5
|
+
export * from "./components/index";
|
|
11
6
|
export * from "$pkg/components/overrideable_meta/index";
|
|
12
7
|
export * from "$pkg/components/navigation_component/index";
|
|
13
8
|
export * from "$pkg/types/api/index";
|
|
@@ -18,4 +13,4 @@ export * from "./types/pineapple_fiber/PortraitType";
|
|
|
18
13
|
export * from "./types/pineapple_fiber/DialogDetail";
|
|
19
14
|
export * from "./util/util";
|
|
20
15
|
export * from "./api/index";
|
|
21
|
-
export * from "./template/seaweed/
|
|
16
|
+
export * from "./template/seaweed/index";
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
export let experienceSection: ComponentType;
|
|
34
34
|
|
|
35
35
|
// region query params
|
|
36
|
-
|
|
36
|
+
let entryProps: EntryProps = {
|
|
37
37
|
email,
|
|
38
38
|
letChaos,
|
|
39
39
|
linkedinSlug,
|
|
@@ -226,6 +226,11 @@
|
|
|
226
226
|
};
|
|
227
227
|
$: updateUrl(seaweedTemplateData);
|
|
228
228
|
|
|
229
|
+
// eslint-disable-next-line
|
|
230
|
+
const updateSeaweedWhenFunNoteChanged = (_: boolean) => {
|
|
231
|
+
entryProps = entryProps;
|
|
232
|
+
};
|
|
233
|
+
$: updateSeaweedWhenFunNoteChanged(seaweedTemplateData.shouldAddFunNote);
|
|
229
234
|
</script>
|
|
230
235
|
|
|
231
236
|
<SeaweedBaseLayout bind:shouldDisplayLeadingIcons={isSocialsGone}>
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import type { ComponentType } from "svelte";
|
|
2
|
-
import { DefaultHeader
|
|
2
|
+
import { DefaultHeader } from "$pkg/template/seaweed/entries/EntryProps";
|
|
3
3
|
import Pengi from "$pkg/template/seaweed/entries/Pengi.svelte";
|
|
4
4
|
import Hepcat from "$pkg/template/seaweed/entries/Hepcat.svelte";
|
|
5
5
|
import ChefWings from "$pkg/template/seaweed/entries/ChefWings.svelte";
|
|
6
6
|
import Soulwork from "$pkg/template/seaweed/entries/Soulwork.svelte";
|
|
7
|
-
import ItchPromo from "$pkg/template/seaweed/entries/ItchPromo.svelte";
|
|
8
|
-
import MigranteAlberta from "$pkg/template/seaweed/entries/MigranteAlberta.svelte";
|
|
9
|
-
import DecentralizedSocialMedia from "$pkg/template/seaweed/entries/DecentralizedSocialMedia.svelte";
|
|
10
7
|
import CustomizedYarnspinner from "$pkg/template/seaweed/entries/CustomizedYarnspinner.svelte";
|
|
11
|
-
import FullStackC from "$pkg/template/seaweed/entries/FullStackC.svelte";
|
|
12
|
-
import Workset from "$pkg/template/seaweed/entries/Workset.svelte";
|
|
13
8
|
import ThisWebpage from "$pkg/template/seaweed/entries/ThisWebpage.svelte";
|
|
14
|
-
import MockUberApp from "$pkg/template/seaweed/entries/MockUberApp.svelte";
|
|
15
9
|
import { removeProxyWrapperOnString } from "$pkg/template/seaweed/entry_order_config/EntryOrderConfig";
|
|
16
10
|
|
|
17
11
|
export enum GroupGridClass {
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import SocialSection from "$pkg/components/SocialSection.svelte";
|
|
3
3
|
import Card from "$pkg/components/Card.svelte";
|
|
4
4
|
import { Accordion, AccordionItem } from "@skeletonlabs/skeleton";
|
|
5
|
-
import
|
|
5
|
+
import ElementVisibilityDetector from "$pkg/components/ElementVisbilityDetector.svelte";
|
|
6
6
|
import type { EntryProps } from "$pkg/template/seaweed/entries/EntryProps";
|
|
7
7
|
|
|
8
8
|
export let entryProps: EntryProps;
|
|
9
9
|
export let isVisible: boolean;
|
|
10
|
-
let { email, letChaos, linkedinSlug, name
|
|
10
|
+
let { email, letChaos, linkedinSlug, name } = entryProps;
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
13
|
<div class="experience-and-about-div">
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
I also graduated with BS Computing Science, Specializing in Software Practice, and a
|
|
30
30
|
certificate in Computer Game Development at University of Alberta.
|
|
31
31
|
</p>
|
|
32
|
-
{#if seaweedTemplateData
|
|
32
|
+
{#if entryProps.seaweedTemplateData.shouldAddFunNote}
|
|
33
33
|
<p>
|
|
34
34
|
I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
|
|
35
35
|
Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
<Card>
|
|
45
45
|
<section class="section-card" slot="content">
|
|
46
46
|
<SocialSection email={email} linkedinSlug={linkedinSlug}></SocialSection>
|
|
47
|
-
<
|
|
48
|
-
</
|
|
47
|
+
<ElementVisibilityDetector bind:isVisible={isVisible}>
|
|
48
|
+
</ElementVisibilityDetector>
|
|
49
49
|
</section>
|
|
50
50
|
</Card>
|
|
51
51
|
|
|
@@ -56,31 +56,19 @@
|
|
|
56
56
|
<h1>Experience</h1>
|
|
57
57
|
|
|
58
58
|
<h2>Highlight</h2>
|
|
59
|
-
<p>
|
|
60
|
-
active users</b> at Twitch (an Amazon Web Services subsidiary)</p>
|
|
59
|
+
<p>I like French Fries</p>
|
|
61
60
|
|
|
62
61
|
<h2>Software Engineer</h2>
|
|
63
62
|
<div class="two-column-separated">
|
|
64
63
|
<div>July 2023 – January 2024</div>
|
|
65
|
-
<div style="text-align: end">
|
|
64
|
+
<div style="text-align: end">Control, Remote</div>
|
|
66
65
|
</div>
|
|
67
66
|
<ul>
|
|
68
67
|
<li>
|
|
69
|
-
|
|
70
|
-
<span class="qt-go">Golang</span>
|
|
71
|
-
microservices and
|
|
72
|
-
<span class="qt-ts">Typescript</span>
|
|
73
|
-
<span class="qt-react">React</span> codebases, across several teams, to accommodate public-facing user safety features to better comply with EU’s Digital Services Act, which applies to no more than
|
|
74
|
-
<a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
|
|
75
|
-
. Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
|
|
68
|
+
Developed things
|
|
76
69
|
</li>
|
|
77
70
|
<li>
|
|
78
|
-
|
|
79
|
-
<span class="qt-aws qt-observability">Cloudwatch</span>,
|
|
80
|
-
<span class="qt-aws qt-observability">Grafana</span>,
|
|
81
|
-
<span class="qt-aws">Kinesis Data Stream</span>,
|
|
82
|
-
<span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
|
|
83
|
-
<span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
|
|
71
|
+
Woah
|
|
84
72
|
</li>
|
|
85
73
|
</ul>
|
|
86
74
|
<br>
|
|
@@ -88,24 +76,14 @@
|
|
|
88
76
|
<h2>Software Engineer Intern</h2>
|
|
89
77
|
<div class="two-column-separated">
|
|
90
78
|
<div>May 2022 – Aug 2022</div>
|
|
91
|
-
<div style="text-align: end">
|
|
79
|
+
<div style="text-align: end">Pou Company</div>
|
|
92
80
|
</div>
|
|
93
81
|
<ul>
|
|
94
82
|
<li>
|
|
95
|
-
|
|
96
|
-
message types at different volumes that can be easily extended to target different chat services
|
|
83
|
+
Stuff
|
|
97
84
|
</li>
|
|
98
85
|
<li>
|
|
99
|
-
|
|
100
|
-
service with business logic written in <span class="qt-go">Go</span> and cloud infrastructure utilizing
|
|
101
|
-
<span
|
|
102
|
-
class="qt-infra qt-aws">ECS on Fargate, Cloudwatch, and DynamoDB</span>
|
|
103
|
-
, defined in <span class="qt-ts">Typescript</span>-flavored CDK
|
|
104
|
-
</li>
|
|
105
|
-
<li>
|
|
106
|
-
Wrote a technical specification document for the service’s MVP and possible future features, and
|
|
107
|
-
additional documentation on how to use the service and how to extend the load testing service to include
|
|
108
|
-
new services to test
|
|
86
|
+
Golang
|
|
109
87
|
</li>
|
|
110
88
|
</ul>
|
|
111
89
|
<br>
|
|
@@ -117,24 +95,16 @@
|
|
|
117
95
|
</div>
|
|
118
96
|
<svelte:fragment slot="content">
|
|
119
97
|
<section class="more-section">
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
<div
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
<
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
<span class="qt-ts">Typescript</span>
|
|
131
|
-
<span class="qt-react">React</span> frontend web app that will help suggest security improvements to
|
|
132
|
-
<b>over 100k+ users daily</b>
|
|
133
|
-
</li>
|
|
134
|
-
</ul>
|
|
135
|
-
{:else}
|
|
136
|
-
niko baikal seal from toba aquarium
|
|
137
|
-
{/if}
|
|
98
|
+
<h2>Software Engineer Intern</h2>
|
|
99
|
+
<div class="two-column-separated">
|
|
100
|
+
<div>May 2021 – Dec 2021</div>
|
|
101
|
+
<div style="text-align: end">Testing</div>
|
|
102
|
+
</div>
|
|
103
|
+
<ul>
|
|
104
|
+
<li>
|
|
105
|
+
Amazing
|
|
106
|
+
</li>
|
|
107
|
+
</ul>
|
|
138
108
|
<br>
|
|
139
109
|
</section>
|
|
140
110
|
</svelte:fragment>
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
<script>import {} from "./EntryProps";
|
|
2
|
-
import Card from "../../../components/Card.svelte";
|
|
3
|
-
import GithubIcon from "../../../assets/icons/github-mark.svg";
|
|
4
|
-
export let props;
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<Card>
|
|
8
|
-
<section class="project-card" slot="content">
|
|
9
|
-
<div class="project-card-body">
|
|
10
|
-
|
|
11
|
-
<h2>Decentralized social media</h2>
|
|
12
|
-
|
|
13
|
-
<p>We made a full stack decentralized social media app made with <span class="qt-react">React</span> +
|
|
14
|
-
<span class="qt-js">Javascript</span> for the client code, <span class="qt-django">Django</span> + <span
|
|
15
|
-
class="qt-python">Python</span> for the backend code, and <span class="qt-heroku">Heroku</span> for
|
|
16
|
-
deployment. This project was made
|
|
17
|
-
for
|
|
18
|
-
our Web Applications and Architecture class.</p>
|
|
19
|
-
<p>The application can connect with three other decentralized social media app in the same class:
|
|
20
|
-
</p>
|
|
21
|
-
<ul>
|
|
22
|
-
<li>
|
|
23
|
-
<a href="https://github.com/hgshah/cmput404-project/blob/main/docs/testing_other_teams.md#team-14"
|
|
24
|
-
target="_blank">Also
|
|
25
|
-
a social media with the same Django + Python backend server where they act on behalf of
|
|
26
|
-
our users interacting with theirs</a></li>
|
|
27
|
-
<li>
|
|
28
|
-
<a href="https://github.com/hgshah/cmput404-project/blob/main/docs/testing_other_teams.md#team-7"
|
|
29
|
-
target="_blank">A
|
|
30
|
-
social media that uses Fast API + Python for their backend server</a></li>
|
|
31
|
-
<li>
|
|
32
|
-
<a href="https://github.com/hgshah/cmput404-project/blob/main/docs/testing_other_teams.md#team-12"
|
|
33
|
-
target="_blank">Another
|
|
34
|
-
social media that has Django + Python for their backend but we have to act on behalf of
|
|
35
|
-
our
|
|
36
|
-
users interacting with their users</a>
|
|
37
|
-
</li>
|
|
38
|
-
</ul>
|
|
39
|
-
|
|
40
|
-
<!-- todo: add tags with Javascript, React, Python, Django, Heroku -->
|
|
41
|
-
|
|
42
|
-
<section class="game-link-section">
|
|
43
|
-
<button type="button" class="game-button turnip-button"
|
|
44
|
-
role="link"
|
|
45
|
-
title="https://github.com/hgshah/cmput404-project"
|
|
46
|
-
on:click={() => window.open("https://github.com/hgshah/cmput404-project")}>
|
|
47
|
-
<img src={GithubIcon} alt="github icon">
|
|
48
|
-
</button>
|
|
49
|
-
</section>
|
|
50
|
-
</div>
|
|
51
|
-
</section>
|
|
52
|
-
</Card>
|
package/.svelte-kit/__package__/template/seaweed/entries/DecentralizedSocialMedia.svelte.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
import { type EntryProps } from "./EntryProps";
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
props: EntryProps;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
};
|
|
12
|
-
export type DecentralizedSocialMediaProps = typeof __propDef.props;
|
|
13
|
-
export type DecentralizedSocialMediaEvents = typeof __propDef.events;
|
|
14
|
-
export type DecentralizedSocialMediaSlots = typeof __propDef.slots;
|
|
15
|
-
export default class DecentralizedSocialMedia extends SvelteComponent<DecentralizedSocialMediaProps, DecentralizedSocialMediaEvents, DecentralizedSocialMediaSlots> {
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<script>import {} from "./EntryProps";
|
|
2
|
-
import Card from "../../../components/Card.svelte";
|
|
3
|
-
import GithubIcon from "../../../assets/icons/github-mark.svg";
|
|
4
|
-
export let props;
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<Card>
|
|
8
|
-
<section class="project-card" slot="content">
|
|
9
|
-
<div class="project-card-body">
|
|
10
|
-
<h2>Full-stack <span class="qt-c">C</span> app</h2>
|
|
11
|
-
|
|
12
|
-
<p>
|
|
13
|
-
A terminal-based app consisting of a server observing several terminal apps all concurrently
|
|
14
|
-
sending updates to the server, which then broadcasts these information concurrently to all the
|
|
15
|
-
other terminal apps connected.
|
|
16
|
-
</p>
|
|
17
|
-
<p>
|
|
18
|
-
The project involves <span class="qt-foundation">multiprocessing</span> programming featuring pthreads and
|
|
19
|
-
mutexes, and <span class="qt-foundation">networking</span> via sockets.
|
|
20
|
-
</p>
|
|
21
|
-
|
|
22
|
-
<section class="game-link-section">
|
|
23
|
-
<button type="button" class="game-button turnip-button"
|
|
24
|
-
role="link"
|
|
25
|
-
title="https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment02/DESIGN.md"
|
|
26
|
-
on:click={() => window.open("https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment02/DESIGN.md")}>
|
|
27
|
-
<img src={GithubIcon} class="long-btn-image" alt="github icon">
|
|
28
|
-
</button>
|
|
29
|
-
</section>
|
|
30
|
-
</div>
|
|
31
|
-
</section>
|
|
32
|
-
</Card>
|
|
33
|
-
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
import { type EntryProps } from "./EntryProps";
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
props: EntryProps;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
};
|
|
12
|
-
export type FullStackCProps = typeof __propDef.props;
|
|
13
|
-
export type FullStackCEvents = typeof __propDef.events;
|
|
14
|
-
export type FullStackCSlots = typeof __propDef.slots;
|
|
15
|
-
export default class FullStackC extends SvelteComponent<FullStackCProps, FullStackCEvents, FullStackCSlots> {
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<script>import {} from "./EntryProps";
|
|
2
|
-
import { ItchLogoHotLink } from "../../../consts";
|
|
3
|
-
import Card from "../../../components/Card.svelte";
|
|
4
|
-
export let props;
|
|
5
|
-
</script>
|
|
6
|
-
<Card overrideStyle="align-self: flex-start;">
|
|
7
|
-
<section class="game-card itch-promo" slot="content">
|
|
8
|
-
<h1 class="mb-12 text-center">Check out my itch.io page for more games</h1>
|
|
9
|
-
|
|
10
|
-
<section class="game-link-section">
|
|
11
|
-
<button type="button" class="btn variant-filled-primary turnip-button"
|
|
12
|
-
role="link"
|
|
13
|
-
title="https://turnipxenon.itch.io/"
|
|
14
|
-
on:click={() => window.open("https://turnipxenon.itch.io/")}>
|
|
15
|
-
<img src={ItchLogoHotLink} class="long-btn-image" alt="itch icon">
|
|
16
|
-
<span>TurnipXenon</span>
|
|
17
|
-
</button>
|
|
18
|
-
</section>
|
|
19
|
-
|
|
20
|
-
</section>
|
|
21
|
-
</Card>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
import { type EntryProps } from "./EntryProps";
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
props: EntryProps;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
};
|
|
12
|
-
export type ItchPromoProps = typeof __propDef.props;
|
|
13
|
-
export type ItchPromoEvents = typeof __propDef.events;
|
|
14
|
-
export type ItchPromoSlots = typeof __propDef.slots;
|
|
15
|
-
export default class ItchPromo extends SvelteComponent<ItchPromoProps, ItchPromoEvents, ItchPromoSlots> {
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<script>import { Chip } from "../../..";
|
|
2
|
-
import {} from "./EntryProps";
|
|
3
|
-
import LinkIcon from "../../../assets/icons/link-icon.svg";
|
|
4
|
-
import Card from "../../../components/Card.svelte";
|
|
5
|
-
import { getModalStore } from "@skeletonlabs/skeleton";
|
|
6
|
-
export let props;
|
|
7
|
-
const modalStore = getModalStore();
|
|
8
|
-
const cmput401Info = {
|
|
9
|
-
type: "confirm",
|
|
10
|
-
title: "Information",
|
|
11
|
-
body: `As a full disclosure, this link will lead you to <a href='https://cmput401.ca/projects/e5b13586-09c7-4ddd-baf6-fdb078d23398' target='_blank'>https://cmput401.ca/projects/e5b13586-09c7-4ddd-baf6-fdb078d23398</a>. We currently don't have any tests yet ensuring that the link is correct. Click confirm to go to the site. Please report any bugs at <a href='mailto:${props.email}' target='_blank'>${props.email}</a>.`,
|
|
12
|
-
response: (r) => {
|
|
13
|
-
if (r) {
|
|
14
|
-
window.open("https://cmput401.ca/projects/e5b13586-09c7-4ddd-baf6-fdb078d23398");
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
</script>
|
|
19
|
-
<Card>
|
|
20
|
-
<section class="project-card" slot="content">
|
|
21
|
-
<iframe id="migrante-alberta"
|
|
22
|
-
width="560" height="315" src="https://www.youtube.com/embed/ZemWwf8jh8E?si=RZwSfYHI-0Ael-RE"
|
|
23
|
-
title="YouTube video player" style="border: none"
|
|
24
|
-
allowfullscreen></iframe>
|
|
25
|
-
<div class="project-card-body">
|
|
26
|
-
<!-- todo: add regression to see if page is gone: https://cmput401.ca/api/projects/e5b13586-09c7-4ddd-baf6-fdb078d23398 -->
|
|
27
|
-
|
|
28
|
-
<h2>Migrante Alberta</h2>
|
|
29
|
-
<p>We developed a mobile-first cross-platform application to be used by the Canadian-based
|
|
30
|
-
Filipino non-profit advocacy group, Migrante Alberta, to help new immigrants navigate
|
|
31
|
-
through local services and events
|
|
32
|
-
</p>
|
|
33
|
-
<p>
|
|
34
|
-
<Chip>Flutter</Chip>
|
|
35
|
-
<Chip>Dart</Chip>
|
|
36
|
-
<Chip>Python</Chip>
|
|
37
|
-
<Chip>Django</Chip>
|
|
38
|
-
<Chip>Heroku</Chip>
|
|
39
|
-
<Chip>Android</Chip>
|
|
40
|
-
<Chip>Postgresql</Chip>
|
|
41
|
-
</p>
|
|
42
|
-
|
|
43
|
-
<section class="game-link-section">
|
|
44
|
-
<button type="button" class="btn variant-filled-primary turnip-button"
|
|
45
|
-
title="https://selk.io/birb-project/trunk/"
|
|
46
|
-
on:click={() => modalStore.trigger(cmput401Info)}>
|
|
47
|
-
<img src={LinkIcon} class="long-btn-image" alt="itch icon">
|
|
48
|
-
<span>cmput401.ca</span>
|
|
49
|
-
</button>
|
|
50
|
-
</section>
|
|
51
|
-
|
|
52
|
-
</div>
|
|
53
|
-
</section>
|
|
54
|
-
</Card>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
import { type EntryProps } from "./EntryProps";
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
props: EntryProps;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
};
|
|
12
|
-
export type MigranteAlbertaProps = typeof __propDef.props;
|
|
13
|
-
export type MigranteAlbertaEvents = typeof __propDef.events;
|
|
14
|
-
export type MigranteAlbertaSlots = typeof __propDef.slots;
|
|
15
|
-
export default class MigranteAlberta extends SvelteComponent<MigranteAlbertaProps, MigranteAlbertaEvents, MigranteAlbertaSlots> {
|
|
16
|
-
}
|
|
17
|
-
export {};
|