chore: added project content

This commit is contained in:
Bart van der Braak 2024-01-23 18:10:45 +01:00
parent 827d14a048
commit 1fa52b84c1
5 changed files with 88 additions and 20 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8 KiB

View file

@ -1,27 +1,23 @@
<script lang="ts"> <script lang="ts">
import { Circle } from 'radix-icons-svelte'; import { Circle } from 'radix-icons-svelte';
import { Scale } from 'lucide-svelte'; import { Calendar, Scale } from 'lucide-svelte';
import * as Card from '$lib/components/ui/card'; import * as Card from '$lib/components/ui/card';
import type { Project } from '$lib/content/projects'; import type { Project } from '$lib/content/projects';
import * as Avatar from '$lib/components/ui/avatar';
export let projectsItem: Project; export let projectsItem: Project;
let { avatarImg, title, description, languages, license, year } = projectsItem; let { logo, title, description, languages, license, year } = projectsItem;
</script> </script>
<Card.Root class="hover:bg-muted/50"> <Card.Root class="hover:bg-muted/50">
<Card.Header class="grid grid-cols-[1fr_110px] items-start gap-4 space-y-0"> <Card.Header class="grid grid-cols-[1fr_72px] items-start gap-4 space-y-0">
<div class="space-y-1"> <div class="space-y-1">
<Card.Title tag="h2">{title}</Card.Title> <Card.Title tag="h2" class="mb-2">{title}</Card.Title>
<Card.Description> <Card.Description>
{description} {description}
</Card.Description> </Card.Description>
</div> </div>
<div class="justify-self-end"> <div class="justify-self-end">
<Avatar.Root> <enhanced:img src={logo} class="rounded-sm" alt={`${title} logo`} />
<Avatar.Image src={avatarImg} alt={title} />
<Avatar.Fallback>NA</Avatar.Fallback>
</Avatar.Root>
</div> </div>
</Card.Header> </Card.Header>
<Card.Content> <Card.Content>
@ -36,8 +32,8 @@
<Scale class="mr-1 h-3 w-3" /> <Scale class="mr-1 h-3 w-3" />
{license} {license}
</div> </div>
<div> <div class="flex items-center">
Started in <Calendar class="mr-1 h-3 w-3" />
{year} {year}
</div> </div>
</div> </div>

View file

@ -1,7 +1,11 @@
import keyweaveLogo from '$lib/assets/projects/keyweave-logo.png'; import keyweaveLogo from '$lib/assets/projects/keyweave-logo.png?enhanced';
import videoWallLogo from '$lib/assets/projects/videowall-logo.png'; import videoWallLogo from '$lib/assets/projects/videowall-logo.png?enhanced';
import ticketDashboardLogo from '$lib/assets/projects/triple-logo.png'; import ticketDashboardLogo from '$lib/assets/projects/triple-logo.png?enhanced';
import zaantjeLogo from '$lib/assets/projects/zaantje-logo.png'; import zaantjeLogo from '$lib/assets/projects/zaantje-logo.png?enhanced';
import helloBartLogo from '$lib/assets/logo-icon.png?enhanced';
import omnidashLogo from '$lib/assets/projects/omnidash-logo.png?enhanced';
import azureGeocodeMappingLogo from '$lib/assets/projects/azure-geocode-mapping-logo.png?enhanced';
import slayerWeightCalcLogo from '$lib/assets/projects/slayerweightcalc-logo.png?enhanced';
export type ProgrammingLanguage = { export type ProgrammingLanguage = {
name: string; name: string;
@ -10,7 +14,7 @@ export type ProgrammingLanguage = {
export type Project = { export type Project = {
url?: string; url?: string;
avatarImg: string; logo: string;
title: string; title: string;
description: string; description: string;
languages: ProgrammingLanguage[]; languages: ProgrammingLanguage[];
@ -19,9 +23,54 @@ export type Project = {
}; };
const projects: Project[] = [ const projects: Project[] = [
{
url: 'https://hellob.art',
logo: helloBartLogo,
title: 'hellob.art',
description:
'The website you are currently visiting. A personal portfolio website that regularly gets rebuilt. Currently it has been built in Svelte and SvelteKit and uses shadcn-svelte and Tailwind CSS for component styling.',
year: '2020',
license: 'GPLv3',
languages: [
{
name: 'Svelte',
color: 'text-orange-400'
}
]
},
{
url: 'https://omnidash.io',
logo: omnidashLogo,
title: 'Omnidash',
description:
'Omnidash is an open-source dashboard for retrieving ticketing information from various sources and displaying them in a single view.',
year: '2023',
license: 'GPLv3',
languages: [
{
name: 'Svelte',
color: 'text-orange-400'
}
]
},
{
url: 'https://github.com/bartvdbraak/azure-geocode-mapping',
logo: azureGeocodeMappingLogo,
title: 'azure-geocode-mapping',
description:
'azure-geocode-mapping is a Python package that generates a mapping of Azure regions to their display names and geocodes.',
year: '2023',
license: 'MIT',
languages: [
{
name: 'Python',
color: 'text-blue-400'
}
]
},
{ {
url: 'https://www.github.com/bartvdbraak/keyweave', url: 'https://www.github.com/bartvdbraak/keyweave',
avatarImg: keyweaveLogo, logo: keyweaveLogo,
title: 'Keyweave', title: 'Keyweave',
description: description:
'Keyweave is an open-source tool crafted in Rust to seamlessly fetch secrets from Azure Key Vault and weave them into a convenient .env file.', 'Keyweave is an open-source tool crafted in Rust to seamlessly fetch secrets from Azure Key Vault and weave them into a convenient .env file.',
@ -31,11 +80,15 @@ const projects: Project[] = [
{ {
name: 'Rust', name: 'Rust',
color: 'text-red-400' color: 'text-red-400'
},
{
name: 'Bicep',
color: 'text-blue-400'
} }
] ]
}, },
{ {
avatarImg: videoWallLogo, logo: videoWallLogo,
title: 'Videowall', title: 'Videowall',
description: description:
'An internal application to control an impressive 6x5 monitor setup with a user-friendly frontend built with React and Next.js utilizing a powerful backend developed in Golang.', 'An internal application to control an impressive 6x5 monitor setup with a user-friendly frontend built with React and Next.js utilizing a powerful backend developed in Golang.',
@ -53,7 +106,7 @@ const projects: Project[] = [
] ]
}, },
{ {
avatarImg: ticketDashboardLogo, logo: ticketDashboardLogo,
title: 'Ticket Dashboard', title: 'Ticket Dashboard',
description: description:
'Web app that consolidates tickets from various sources into one view for easy navigation, filters, and search for efficient ticket management. Developed with Next.js for frontend and Golang for backend.', 'Web app that consolidates tickets from various sources into one view for easy navigation, filters, and search for efficient ticket management. Developed with Next.js for frontend and Golang for backend.',
@ -72,7 +125,7 @@ const projects: Project[] = [
}, },
{ {
url: 'https://zaantje.com/', url: 'https://zaantje.com/',
avatarImg: zaantjeLogo, logo: zaantjeLogo,
title: 'Zaantje', title: 'Zaantje',
description: description:
'A SPA crafted with Nuxt.js and Vue.js, backed by Sanity CMS, taking you on a virtual tour of Zaandam, showcasing locations of famous music videos.', 'A SPA crafted with Nuxt.js and Vue.js, backed by Sanity CMS, taking you on a virtual tour of Zaandam, showcasing locations of famous music videos.',
@ -84,6 +137,25 @@ const projects: Project[] = [
color: 'text-emerald-400' color: 'text-emerald-400'
} }
] ]
},
{
url: 'https://bartvdbraak.github.io/SlayerWeightCalculator/',
logo: slayerWeightCalcLogo,
title: 'SlayerWeightCalculator',
description:
'I created this Slayer calculator for OldSchool RuneScape in 2019, but I am no longer maintaining it. As of 23th April 2023, I have decided to publicly archive the repository for it.',
year: '2019',
license: 'BSD-2',
languages: [
{
name: 'Vue.js',
color: 'text-emerald-400'
},
{
name: 'Python',
color: 'text-blue-400'
}
]
} }
]; ];