Files
pages/src/routes/projects/projects2.ts

398 lines
11 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export interface Project {
category: ProjectCategory;
id: string;
directLink?: string; // for linking somewhere directly instead of a project page
banner: string;
bannerAlt: string;
title: string;
subtitle: string;
description: string;
isOngoing: boolean; // whether the project is currently active (true) or a past project (false)
date: string;
status: ProjectStatus;
links: Link[]; // may pass an empty array
};
export interface Link {
text: string;
link: string;
}
export enum ProjectCategory {
DRAWINGS = "drawings",
GAMES = "games",
ELECTRONICS = "electronics",
MUSIC = "music",
APPS = "apps",
MISC = "misc",
}
export enum ProjectStatus {
ACTIVE = "active",
INACTIVE = "inactive",
ABANDONED = "abandoned",
FINISHED = "finished",
EOL = "end-of-life", // end of life
}
/**
* Returns static codes that can be used to reference same-name CSS classes
* without relying on display text.
*/
export function getStatusCode(project: Project): String {
switch (project.status) {
case ProjectStatus.ACTIVE:
return "act";
case ProjectStatus.INACTIVE:
return "ina";
case ProjectStatus.ABANDONED:
return "aba";
case ProjectStatus.FINISHED:
return "fin";
case ProjectStatus.EOL:
return "eol";
}
}
export const projects: Project[] = [
{
category: ProjectCategory.MISC,
id: "lightyears-font",
banner: "banner.webp",
bannerAlt: "A rainbow-like holographic effect produced by bending a reflective sheet of cardboard.",
title: "LIGHTYEARS font",
subtitle: "stylised font",
description: "",
isOngoing: false,
date: "March 2026",
status: ProjectStatus.FINISHED,
links: [
{
text: "download the font",
link: "https://files.natconf.dev/public/lightyears.woff2",
}
],
},
{
category: ProjectCategory.DRAWINGS,
id: "firstmonth",
banner: "banner.webp",
bannerAlt: "Several Faber-Castell Polychromos colour pencils lined up with markings next to them in the same colour on a sheet of paper.",
title: "My First Month Drawing",
subtitle: "self-imposed drawing challenge",
description: "",
isOngoing: false,
date: "February March 2026",
status: ProjectStatus.FINISHED,
links: [
],
},
{
category: ProjectCategory.ELECTRONICS,
id: "3ds-usb-c",
banner: "",
bannerAlt: "",
title: "3DS USB-C mod",
subtitle: "DIY charging port mod",
description: "",
isOngoing: false,
date: "October 2024",
status: ProjectStatus.FINISHED,
links: [
],
},
{
category: ProjectCategory.ELECTRONICS,
id: "deej0461",
banner: "",
bannerAlt: "",
title: "deej0461",
subtitle: "PC companion audio source controller",
description: "",
isOngoing: false,
date: "August 2024",
status: ProjectStatus.FINISHED,
links: [
],
},
{
category: ProjectCategory.GAMES,
id: "projectn5",
directLink: "/projects/projectn5",
banner: "/projects/projectn5/banner2.webp",
bannerAlt: "",
title: "Homesick",
subtitle: "",
description: "",
isOngoing: true,
date: "September 2023 now",
status: ProjectStatus.ACTIVE,
links: [
{
text: "view the <b>development log</b>",
link: "/projects/projectn5",
},
{
text: "play an <b>old web build</b> (developed until 2025-05-16)",
link: "https://apps.natconf.dev/projectn5",
},
{
text: "download the <b>old Windows builds</b>",
link: "https://files.natconf.dev/public/projectn5",
},
],
},
{
category: ProjectCategory.GAMES,
id: "magician",
banner: "/projects/magician/banner.webp",
bannerAlt: "",
title: "Magician",
subtitle: "Online Multiplayer Card Game",
description: "",
isOngoing: false,
date: "July 2025",
status: ProjectStatus.ABANDONED,
links: [
{
text: "view the latest <b>Magician</b> build",
link: "https://apps.natconf.dev/magician",
},
],
},
{
category: ProjectCategory.GAMES,
id: "projektike",
banner: "/projects/projektike/banner.webp",
bannerAlt: "",
title: "Projektike",
subtitle: "PvP Game",
description: "",
isOngoing: false,
date: "August 2024 May 2025",
status: ProjectStatus.ABANDONED,
links: [
],
},
{
category: ProjectCategory.GAMES,
id: "swordsnstuff",
banner: "/projects/swordsnstuff/banner.webp",
bannerAlt: "",
title: "Swords & Stuff",
subtitle: "Unity 2D RPG",
description: "",
isOngoing: false,
date: "August 2023",
status: ProjectStatus.ABANDONED,
links: [
{
text: "play <b>Swords & Stuff</b>",
link: "https://apps.natconf.dev/swordsnstuff",
},
],
},
{
category: ProjectCategory.GAMES,
id: "tads",
banner: "/projects/tads/banner.webp",
bannerAlt: "",
title: "Totally Accurate Dating Simulator",
subtitle: "HTML Text Adventure",
description: "",
isOngoing: false,
date: "August 2023",
status: ProjectStatus.FINISHED,
links: [
{
text: "play <b>TADS 1</b>",
link: "https://apps.natconf.dev/tads/1",
},
{
text: "play <b>TADS 2</b>",
link: "https://apps.natconf.dev/tads/2",
},
],
},
{
category: ProjectCategory.ELECTRONICS,
id: "daisyfm",
banner: "banner.webp",
bannerAlt: "Close-up of Daisy, focussed on the effect knobs",
title: "Daisy FM Synth",
subtitle: "Electro-Smith Daisy-based FM synth",
description: "",
isOngoing: false,
date: "July September 2024",
status: ProjectStatus.FINISHED,
links: [
{
text: "get the <b>PCB and STL files</b>",
link: "https://files.natconf.dev/public/daisyfm/",
},
{
text: "view the code files on <b>Codeberg</b>",
link: "https://codeberg.org/denizk0461/daisy-fm-synth",
},
],
},
{
category: ProjectCategory.APPS,
id: "weserplaner",
banner: "/projects/weserplaner/banner.webp",
bannerAlt: "",
title: "WeserPlaner",
subtitle: "University Timetable & Canteen Info App",
description: "",
isOngoing: false,
date: "April 2023 January 2024",
status: ProjectStatus.EOL,
links: [
{
text: "view on <b>Codeberg</b>",
link: "https://codeberg.org/denizk0461/weserplaner/",
},
{
text: "link to the former <b>Google Play</b> store page",
link: "https://play.google.com/store/apps/details?id=com.denizk0461.weserplaner",
},
],
},
{
category: ProjectCategory.APPS,
id: "textbasic",
banner: "",
bannerAlt: "",
title: "Text Basic",
subtitle: "Extremely Basic Text Widget App",
description: "",
isOngoing: false,
date: "May November 2023",
status: ProjectStatus.EOL,
links: [
{
text: "view on <b>Codeberg</b>",
link: "https://codeberg.org/denizk0461/text-basic/",
},
{
text: "link to the former <b>Google Play</b> store page",
link: "https://play.google.com/store/apps/details?id=com.denizk0461.textbasic",
},
],
},
{
category: ProjectCategory.APPS,
id: "qwark",
banner: "",
bannerAlt: "",
title: "Qwark Grade Log",
subtitle: "Grade Logging App",
description: "",
isOngoing: false,
date: "June 2019 March 2020",
status: ProjectStatus.EOL,
links: [
{
text: "view the Android app source code on <b>GitHub</b>",
link: "https://github.com/denizk0461/qwark",
},
],
},
{
category: ProjectCategory.APPS,
id: "avhplan",
banner: "",
bannerAlt: "",
title: "AvH-Vertretungsplan",
subtitle: "Substitution Plan App",
description: "",
isOngoing: false,
date: "April 2019 March 2020",
status: ProjectStatus.EOL,
links: [
{
text: "view the Android app source code on <b>GitHub</b>",
link: "https://github.com/denizk0461/avh-substitution-plan",
},
{
text: "view the iOS app source code on <b>GitHub</b>",
link: "https://github.com/denizk0461/avh-plan-ios",
},
],
},
{
category: ProjectCategory.MUSIC,
id: "dreamworld",
banner: "/projects/dreamworld/banner.webp",
bannerAlt: "",
title: "Dreamworld",
subtitle: "My First Album",
description: "",
isOngoing: false,
date: "July 2019 September 2021",
status: ProjectStatus.FINISHED,
links: [
{
text: "listen & download on <b>copyparty</b>",
link: "https://files.natconf.dev/public/my_tracks/Dreamworld/",
},
],
},
{
category: ProjectCategory.MUSIC,
id: "anewbeginning",
banner: "",
bannerAlt: "",
title: "A New Beginning",
subtitle: "",
description: "",
isOngoing: false,
date: "May August 2018",
status: ProjectStatus.FINISHED,
links: [
{
text: "listen & download on <b>copyparty</b>",
link: "https://files.natconf.dev/public/my_tracks/A%20New%20Beginning/",
},
],
},
{
category: ProjectCategory.MUSIC,
id: "soundcloud",
banner: "",
bannerAlt: "",
title: "Soundcloud",
subtitle: "Demo Dump & Archive",
description: "",
isOngoing: false,
date: "",
status: ProjectStatus.INACTIVE,
links: [
{
text: "demo dump on <b>Soundcloud</b>",
link: "https://soundcloud.com/denizk0461",
},
{
text: "archive on <b>Soundcloud</b>",
link: "https://soundcloud.com/djd4rkn355",
},
],
},
];