Skip to content

Commit fccb2e2

Browse files
committed
add podwalkapp and justprepare
1 parent adef177 commit fccb2e2

10 files changed

Lines changed: 139 additions & 19 deletions

File tree

803 KB
Loading
343 KB
Loading
420 KB
Loading
831 KB
Loading
541 KB
Loading
256 KB
Loading

src/components/HomeInfoBlock.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010
</template>
1111

1212
<script setup lang="ts">
13+
import gsap from "gsap";
14+
1315
import { isMobile } from "@/utils/window.util";
1416
import { useSocialStore } from "@/stores/social";
15-
import gsap from "gsap";
1617
1718
const socialStore = useSocialStore();
1819

src/models/work.model.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
interface WorkKeyFeatureModel {
1+
interface CardModel {
22
icon: string;
33
title: string;
44
description: string;
@@ -9,7 +9,10 @@ export interface WorkModel {
99
title: string;
1010
href: string;
1111
images: string[];
12+
overviewTitle: string;
1213
overview: string;
13-
keyFeatures: WorkKeyFeatureModel[];
14-
techStack: string[];
14+
cardsTitle: string;
15+
cards: CardModel[];
16+
chipsTitle: string;
17+
chips: string[];
1518
}

src/pages/work/[slug].vue

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
</section>
2929

3030
<section class="mb-8">
31-
<h2 class="text-h4 mb-4 text-funnel">Project Overview</h2>
31+
<h2 class="text-h4 mb-4 text-funnel">{{ work?.overviewTitle }}</h2>
3232
<p class="text-body-1">
3333
{{ work?.overview }}
3434
</p>
@@ -37,10 +37,10 @@
3737
<v-divider class="my-16"></v-divider>
3838

3939
<section class="mb-8">
40-
<h2 class="text-h4 mb-6 text-funnel">Key Features</h2>
40+
<h2 class="text-h4 mb-6 text-funnel">{{ work?.cardsTitle }}</h2>
4141
<v-row>
4242
<v-col
43-
v-for="(feature, i) in work?.keyFeatures"
43+
v-for="(card, i) in work?.cards"
4444
:key="i"
4545
cols="12"
4646
sm="6"
@@ -49,14 +49,14 @@
4949
<v-card outlined variant="tonal" :color="nextBaseColor()">
5050
<div class="d-flex align-center pa-2">
5151
<v-icon left class="ma-2" color="white">{{
52-
feature.icon
52+
card.icon
5353
}}</v-icon>
5454
<span class="font-weight-medium text-body-1 text-white">{{
55-
feature.title
55+
card.title
5656
}}</span>
5757
</div>
5858
<v-card-text class="pt-0 text-body-2 text-white">{{
59-
feature.description
59+
card.description
6060
}}</v-card-text>
6161
</v-card>
6262
</v-col>
@@ -66,10 +66,10 @@
6666
<v-divider class="my-16"></v-divider>
6767

6868
<section class="mb-8">
69-
<h2 class="text-h4 mb-6 text-funnel">Technology Stack</h2>
70-
<div class="tech-stack-chips">
69+
<h2 class="text-h4 mb-6 text-funnel">{{ work?.chipsTitle }}</h2>
70+
<div class="chips">
7171
<v-chip
72-
v-for="(tech, i) in work?.techStack"
72+
v-for="(tech, i) in work?.chips"
7373
:key="i"
7474
:color="nextBaseColor()"
7575
label
@@ -82,6 +82,7 @@
8282

8383
<section class="mt-8">
8484
<v-chip
85+
v-if="work?.href"
8586
:href="work?.href"
8687
label
8788
variant="tonal"
@@ -155,7 +156,7 @@ const nextBaseColor = () => {
155156
object-position: top center !important; /* Or top left, top */
156157
}
157158
158-
.tech-stack-chips {
159+
.chips {
159160
display: flex;
160161
gap: 0.75rem;
161162
flex-wrap: wrap;

src/stores/work.ts

Lines changed: 120 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import type { WorkModel } from "@/models/work.model";
21
import { defineStore } from "pinia";
32

3+
import type { WorkModel } from "@/models/work.model";
4+
45
import b302nlHome from "@/assets/work/b302.nl/home.png";
56
import b302nlWork from "@/assets/work/b302.nl/work.png";
67
import b302nlBuro from "@/assets/work/b302.nl/buro.png";
@@ -9,22 +10,85 @@ import maatschappaiHome from "@/assets/work/maatschapp.ai/home.png";
910
import maatschappaiAccount from "@/assets/work/maatschapp.ai/account.png";
1011
import maatschappaiTool from "@/assets/work/maatschapp.ai/tool.png";
1112

13+
import justpreparenlHome from "@/assets/work/justprepare.nl/home.png";
14+
import justpreparenlWieZijnWij from "@/assets/work/justprepare.nl/wie-zijn-wij.png";
15+
import justpreparenlBlogsEnVerslagen from "@/assets/work/justprepare.nl/blogs-en-verslagen.png";
16+
17+
import podwalkappnlHome from "@/assets/work/podwalkapp.nl/home.png";
18+
import podwalkappnlRoute from "@/assets/work/podwalkapp.nl/route.png";
19+
import podwalkappnlSettings from "@/assets/work/podwalkapp.nl/settings.png";
20+
1221
export const useWorkStore = defineStore("work", {
1322
state: () => ({
1423
work: [
24+
{
25+
slug: "just-prepare",
26+
title: "Just Prepare - Just Energy Transition Research",
27+
href: "https://justprepare.nl/",
28+
overviewTitle: "Project Overview",
29+
overview:
30+
"Just Prepare focuses on the energy transition (ET) in underprivileged neighbourhoods, addressing two key mismatches: 1) between retrofit technologies and residents' energy practices, and 2) between residents and the actors planning/implementing solutions. These mismatches risk hindering the ET's effectiveness and justice. The project develops practical, methodological, and substantive knowledge by centering on residents' diverse needs and practices (cooking, washing, heating). It utilizes Living Labs in four municipalities and Learning Labs involving stakeholders, aiming to revise agendas, develop user-centric technologies and strategies, and create training materials for professionals to foster a just and effective energy transition.",
31+
chipsTitle: "Key Themes & Technology",
32+
chips: [
33+
"Energy Transition",
34+
"Energy Justice",
35+
"Resident Engagement",
36+
"Underprivileged Neighbourhoods",
37+
"Living Labs",
38+
"Action Research",
39+
"Co-creation",
40+
"WordPress",
41+
"Elementor",
42+
],
43+
images: [
44+
justpreparenlHome,
45+
justpreparenlWieZijnWij,
46+
justpreparenlBlogsEnVerslagen,
47+
],
48+
cardsTitle: "Project Highlights",
49+
cards: [
50+
{
51+
icon: "mdi-home-account",
52+
title: "Resident-Centric Approach",
53+
description:
54+
"Investigates and integrates the diverse daily energy practices, needs, and experiences of residents in underprivileged neighbourhoods.",
55+
},
56+
{
57+
icon: "mdi-scale-balance",
58+
title: "Promoting Energy Justice",
59+
description:
60+
"Explicitly addresses distributional (costs/benefits), procedural (access to decision-making), and recognitional justice for vulnerable groups in the ET.",
61+
},
62+
{
63+
icon: "mdi-lightbulb-on-outline",
64+
title: "Collaborative Knowledge Development",
65+
description:
66+
"Develops and tests knowledge, methods, and tools through practical application in Living Labs and disseminates insights via Learning Labs involving diverse stakeholders.",
67+
},
68+
{
69+
icon: "mdi-account-group-outline",
70+
title: "Multi-Stakeholder Collaboration",
71+
description:
72+
"Involves close cooperation between universities, applied science institutions, municipalities, housing corporations, residents, and other practical partners.",
73+
},
74+
],
75+
},
1576
{
1677
slug: "maatschapp-ai",
1778
title: "Maatschapp.ai - Social Impact AI Platform",
1879
href: "https://maatschapp.ai",
80+
overviewTitle: "Project Overview",
1981
overview: `Developed Maatschapp.ai, an AI-powered platform by Uitvoeringsbrigade, designed to empower professionals in the Dutch social domain. The primary goal is to reduce administrative burden and enhance the quality of support for citizens, particularly those facing disadvantages, allowing professionals to focus on impactful work ('Tijd voor wat telt'). The platform features a suite of specialized AI tools aimed at improving screening, planning, collaboration, and analysis within the social sector. These tools are set to be fully integrated into the companion platform GrowPad by 2025 for a seamless workflow.`,
20-
techStack: [
82+
chipsTitle: "Technology Stack",
83+
chips: [
2184
"AI / Machine Learning",
2285
"Cloud Platform",
2386
"Data Analytics",
2487
"API Integrations (GrowPad)",
2588
],
2689
images: [maatschappaiHome, maatschappaiAccount, maatschappaiTool],
27-
keyFeatures: [
90+
cardsTitle: "Key Features",
91+
cards: [
2892
{
2993
icon: "mdi-account-heart-outline",
3094
title: "Citizen-Focused AI Tools",
@@ -45,20 +109,71 @@ export const useWorkStore = defineStore("work", {
45109
},
46110
],
47111
},
112+
{
113+
slug: "podwalk-betuwe-oorlogstijd",
114+
title: "Podwalk: De Betuwe in Oorlogstijd",
115+
href: "https://podwalkapp.nl/",
116+
overviewTitle: "App Overview",
117+
overview:
118+
"Podwalk: De Betuwe in Oorlogstijd allows users to discover the Betuwe region through a historical lens, specifically focusing on World War II. The app offers walking routes guiding users past significant locations marked by the war years. At various points along the routes, users can access audio fragments, videos, and photos to learn about the events that transpired there. Podwalk provides an interactive and visual way to experience the history of the Betuwe, covering aspects from occupation to liberation and highlighting the impact on the region and its inhabitants. It blends historical education with the adventure of exploration.",
119+
chipsTitle: "Key Features & Focus",
120+
chips: [
121+
"WWII History",
122+
"Betuwe Region",
123+
"Historical Walking Routes",
124+
"Audio Tours",
125+
"Multimedia Storytelling",
126+
"Location-Based Experience",
127+
"Mobile App (iOS/Android with Flutter)",
128+
"Regional Heritage",
129+
"Interactive Learning",
130+
],
131+
images: [podwalkappnlHome, podwalkappnlRoute, podwalkappnlSettings],
132+
cardsTitle: "App Highlights",
133+
cards: [
134+
{
135+
icon: "mdi-map-marker-path",
136+
title: "Interactive Historical Walks",
137+
description:
138+
"Experience history firsthand by walking routes linked to significant WWII locations in the Betuwe, guided by the app.",
139+
},
140+
{
141+
icon: "mdi-multimedia",
142+
title: "Rich Multimedia Content",
143+
description:
144+
"Engage with the past through location-triggered audio fragments, historical photos, and video clips embedded within the routes.",
145+
},
146+
{
147+
icon: "mdi-history",
148+
title: "Deep Dive into Regional WWII History",
149+
description:
150+
"Explore multiple facets of the war's impact on the Betuwe, from the occupation period through to the liberation.",
151+
},
152+
{
153+
icon: "mdi-cellphone-marker",
154+
title: "Location-Based Storytelling",
155+
description:
156+
"Discover stories and historical facts directly linked to the specific places you visit along the walking routes.",
157+
},
158+
],
159+
},
48160
{
49161
slug: "b302",
50162
title: "B302 - Website",
51163
href: "https://b302.nl",
164+
overviewTitle: "Project Overview",
52165
overview: `Helped develop a clean, modern, and responsive website for the
53166
creative media agency B302, located in Arnhem. The primary goal
54167
was to create an attractive online presence that showcases the
55168
B302's unique charm, provides essential information to potential
56169
clients (portfolio work, contact info, etc.). The site is designed
57170
to be user-friendly and visually appealing across all devices,
58171
from desktops to smartphones.`,
59-
techStack: ["WordPress", "Elementor", "PHP", "CSS3 / SCSS"],
172+
chipsTitle: "Technology Stack",
173+
chips: ["WordPress", "Elementor", "PHP", "CSS3 / SCSS"],
60174
images: [b302nlHome, b302nlWork, b302nlBuro],
61-
keyFeatures: [
175+
cardsTitle: "Key Features",
176+
cards: [
62177
{
63178
icon: "mdi-cellphone-link",
64179
title: "Responsive Design",

0 commit comments

Comments
 (0)