mirror of
https://github.com/muerwre/muerwre.github.io.git
synced 2025-04-24 18:36:41 +07:00
added projects to bio page
This commit is contained in:
parent
011f10a429
commit
ef6f29803b
16 changed files with 327 additions and 75 deletions
55
constants/projects.ts
Normal file
55
constants/projects.ts
Normal file
|
@ -0,0 +1,55 @@
|
|||
import { Technology } from "./technologies";
|
||||
import vault from "~~/assets/png/vault48.png";
|
||||
import orchid from "~~/assets/png/orchid-map.png";
|
||||
import obsidian from "~~/assets/png/obsidian-garden.png";
|
||||
|
||||
interface Project {
|
||||
name: string;
|
||||
description: string;
|
||||
pageUrl: string;
|
||||
codeUrl: string;
|
||||
image: string;
|
||||
technologies: Technology[];
|
||||
}
|
||||
|
||||
export const projects: Project[] = [
|
||||
{
|
||||
name: "Vault48",
|
||||
description: `Community blog with a long 13-year history, features photo, video and audio embedding.\n\nBeeing initially written with Drupal 5, went through refactoring to Laravel + Vue and then, nowadays works on React and Golang stack.`,
|
||||
pageUrl: "https://vault48.org",
|
||||
codeUrl: "https://github.com/muerwre/vault-frontend",
|
||||
image: vault,
|
||||
technologies: [
|
||||
Technology.React,
|
||||
Technology.ReactSSR,
|
||||
Technology.GoLang,
|
||||
Technology.Postgres,
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Orchid Map",
|
||||
description: `Local cycling community Web Maps made with React, Leaflet, and Golang.\n\nImplements automatic route building with OSRM and map rasterization with canvas. Used by users in local cycling communities for ride sharing.`,
|
||||
pageUrl: "https://map.vault48.org",
|
||||
codeUrl: "https://github.com/muerwre/orchidmap-front",
|
||||
image: orchid,
|
||||
technologies: [
|
||||
Technology.React,
|
||||
Technology.ReactSSR,
|
||||
Technology.GoLang,
|
||||
Technology.Postgres,
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Obsidian Garden",
|
||||
description: `Frontend for personal knowledge database managed by Obsidian.md software.\n\nMade with nuxt3, nuxt-content plugin and some customizations. Deployed with drone-ci directly to github-pages.`,
|
||||
pageUrl: "https://muerwre.github.io",
|
||||
codeUrl: "https://github.com/muerwre/muerwre.github.io",
|
||||
image: obsidian,
|
||||
technologies: [
|
||||
Technology.React,
|
||||
Technology.ReactSSR,
|
||||
Technology.GoLang,
|
||||
Technology.Postgres,
|
||||
],
|
||||
},
|
||||
];
|
|
@ -1,16 +1,4 @@
|
|||
import ReactLogo from "@/assets/svg/react-logo.svg";
|
||||
import ReactNativeLogo from "@/assets/svg/react-native-logo.svg";
|
||||
import ReactSSR from "@/assets/svg/react-ssr-logo.svg";
|
||||
import TsLogo from "@/assets/svg/ts-logo.svg";
|
||||
import GoLangLogo from "@/assets/svg/golang-logo.svg";
|
||||
import HTMLLogo from "@/assets/svg/html-logo.svg";
|
||||
import SVGLogo from "@/assets/svg/svg-logo.svg";
|
||||
import ArchLogo from "@/assets/svg/arch-logo.svg";
|
||||
import GQLLogo from "@/assets/svg/gql-logo.svg";
|
||||
import SwaggerLogo from "@/assets/svg/swagger-logo.svg";
|
||||
import VueLogo from "@/assets/svg/vue-logo.svg";
|
||||
import PostgresLogo from "@/assets/svg/postgres-logo.svg";
|
||||
import DockerLogo from "@/assets/svg/docker-logo.svg";
|
||||
import { Technology, technologyIcons, technologyTitles } from "./technologies";
|
||||
|
||||
interface Skill {
|
||||
title: string;
|
||||
|
@ -21,80 +9,80 @@ interface Skill {
|
|||
|
||||
export const skills: Skill[] = [
|
||||
{
|
||||
title: "React",
|
||||
title: technologyTitles[Technology.React],
|
||||
description: "Classes and FC-s, hooks, context, redux, redux-saga, mobx",
|
||||
level: 5,
|
||||
icon: ReactLogo,
|
||||
icon: technologyIcons[Technology.React],
|
||||
},
|
||||
{
|
||||
title: "Typescript",
|
||||
title: technologyTitles[Technology.ReactNative],
|
||||
description:
|
||||
"For both frontend and backend development: generics, guards, infers",
|
||||
level: 4,
|
||||
icon: TsLogo,
|
||||
icon: technologyIcons[Technology.Ts],
|
||||
},
|
||||
{
|
||||
title: "SSR (Next, Gatsby)",
|
||||
title: technologyTitles[Technology.ReactSSR],
|
||||
description: `Automated generation, incremental, static, and dynamic rendering`,
|
||||
level: 4,
|
||||
icon: ReactSSR,
|
||||
icon: technologyIcons[Technology.ReactSSR],
|
||||
},
|
||||
{
|
||||
title: "Vue.js & Nuxt",
|
||||
title: technologyTitles[Technology.Ts],
|
||||
description: `Common SPA-s and SSR blogs like this one, with composition API, and Vuex`,
|
||||
level: 3,
|
||||
icon: VueLogo,
|
||||
icon: technologyIcons[Technology.Vue],
|
||||
},
|
||||
{
|
||||
title: "React Native",
|
||||
title: technologyTitles[Technology.GoLang],
|
||||
description: `Basic developing and releasing experience without native modules`,
|
||||
level: 3,
|
||||
icon: ReactNativeLogo,
|
||||
icon: technologyIcons[Technology.ReactNative],
|
||||
},
|
||||
{
|
||||
title: "Golang",
|
||||
title: technologyTitles[Technology.HTML],
|
||||
description: "Monolith and microservice apps with REST, GraphQL, and GRPC",
|
||||
level: 2,
|
||||
icon: GoLangLogo,
|
||||
icon: technologyIcons[Technology.GoLang],
|
||||
},
|
||||
{
|
||||
title: "Docker",
|
||||
title: technologyTitles[Technology.Arch],
|
||||
description:
|
||||
"Docker, docker-compose, private registries, gitlab-ci, and drone-ci",
|
||||
level: 4,
|
||||
icon: DockerLogo as string,
|
||||
icon: technologyIcons[Technology.Docker],
|
||||
},
|
||||
{
|
||||
title: "HTML, CSS, SVG",
|
||||
title: technologyTitles[Technology.GQL],
|
||||
description:
|
||||
"Adaptive markup, all modern techniques, preprocessors, and CSS-in-JS",
|
||||
level: 5,
|
||||
icon: HTMLLogo,
|
||||
icon: technologyIcons[Technology.HTML],
|
||||
},
|
||||
{
|
||||
title: "Linux Shell",
|
||||
title: technologyTitles[Technology.Swagger],
|
||||
description:
|
||||
"Linux user since 2003, can write scripts to automate my work. BTW, I use Arch!",
|
||||
level: 4,
|
||||
icon: ArchLogo as string,
|
||||
icon: technologyIcons[Technology.Arch],
|
||||
},
|
||||
{
|
||||
title: "GraphQL",
|
||||
title: technologyTitles[Technology.Vue],
|
||||
description:
|
||||
"Both server- and client-side. Queries, mutations, cache manipulation",
|
||||
level: 4,
|
||||
icon: GQLLogo as string,
|
||||
icon: technologyIcons[Technology.GQL],
|
||||
},
|
||||
{
|
||||
title: "REST API",
|
||||
title: technologyTitles[Technology.Postgres],
|
||||
description: "With Axios, fetch, express, gorilla-mux, and gin-gonic",
|
||||
level: 4,
|
||||
icon: SwaggerLogo as string,
|
||||
icon: technologyIcons[Technology.Swagger],
|
||||
},
|
||||
{
|
||||
title: "SQL",
|
||||
title: technologyTitles[Technology.Docker],
|
||||
description: "Base queries, JOIN-s, indexes and simpl query optimizations",
|
||||
level: 2,
|
||||
icon: PostgresLogo as string,
|
||||
icon: technologyIcons[Technology.Postgres],
|
||||
},
|
||||
];
|
||||
|
|
57
constants/technologies.ts
Normal file
57
constants/technologies.ts
Normal file
|
@ -0,0 +1,57 @@
|
|||
import ReactLogo from "@/assets/svg/react-logo.svg";
|
||||
import ReactNativeLogo from "@/assets/svg/react-native-logo.svg";
|
||||
import ReactSSRLogo from "@/assets/svg/react-ssr-logo.svg";
|
||||
import TsLogo from "@/assets/svg/ts-logo.svg";
|
||||
import GoLangLogo from "@/assets/svg/golang-logo.svg";
|
||||
import HTMLLogo from "@/assets/svg/html-logo.svg";
|
||||
import ArchLogo from "@/assets/svg/arch-logo.svg";
|
||||
import GQLLogo from "@/assets/svg/gql-logo.svg";
|
||||
import SwaggerLogo from "@/assets/svg/swagger-logo.svg";
|
||||
import VueLogo from "@/assets/svg/vue-logo.svg";
|
||||
import PostgresLogo from "@/assets/svg/postgres-logo.svg";
|
||||
import DockerLogo from "@/assets/svg/docker-logo.svg";
|
||||
|
||||
export enum Technology {
|
||||
React = "React",
|
||||
ReactNative = "ReactNative",
|
||||
ReactSSR = "ReactSSR",
|
||||
Ts = "Ts",
|
||||
GoLang = "GoLang",
|
||||
HTML = "HTML",
|
||||
Arch = "Arch",
|
||||
GQL = "GQL",
|
||||
Swagger = "Swagger",
|
||||
Vue = "Vue",
|
||||
Postgres = "Postgres",
|
||||
Docker = "Docker",
|
||||
}
|
||||
|
||||
export const technologyIcons: Record<Technology, string> = {
|
||||
[Technology.React]: ReactLogo,
|
||||
[Technology.ReactNative]: ReactNativeLogo,
|
||||
[Technology.ReactSSR]: ReactSSRLogo,
|
||||
[Technology.Ts]: TsLogo,
|
||||
[Technology.GoLang]: GoLangLogo,
|
||||
[Technology.HTML]: HTMLLogo,
|
||||
[Technology.Arch]: ArchLogo,
|
||||
[Technology.GQL]: GQLLogo,
|
||||
[Technology.Swagger]: SwaggerLogo,
|
||||
[Technology.Vue]: VueLogo,
|
||||
[Technology.Postgres]: PostgresLogo,
|
||||
[Technology.Docker]: DockerLogo,
|
||||
};
|
||||
|
||||
export const technologyTitles: Record<Technology, string> = {
|
||||
[Technology.React]: "React",
|
||||
[Technology.ReactNative]: "Typescript",
|
||||
[Technology.ReactSSR]: "SSR (Next, Gatsby)",
|
||||
[Technology.Ts]: "Vue.js & Nuxt",
|
||||
[Technology.GoLang]: "React Native",
|
||||
[Technology.HTML]: "Golang",
|
||||
[Technology.Arch]: "Docker",
|
||||
[Technology.GQL]: "HTML, CSS, SVG",
|
||||
[Technology.Swagger]: "Linux Shell",
|
||||
[Technology.Vue]: "GraphQL",
|
||||
[Technology.Postgres]: "REST API",
|
||||
[Technology.Docker]: "SQL",
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue