From 458486bee90d6843b81404e338ad2817b7a795c1 Mon Sep 17 00:00:00 2001 From: gibbyb Date: Tue, 17 Sep 2024 13:21:17 -0500 Subject: [PATCH] Add more projects --- src/app/page.tsx | 20 ++++++--- src/components/general/techchart.tsx | 5 ++- src/components/projects/fuse.tsx | 49 +++++++++++++++++++++ src/components/projects/lazyprimeagen.tsx | 41 ++++++++++++++++++ src/components/projects/sunhat.tsx | 41 ++++++++++++++++++ src/components/projects/techtracker.tsx | 10 +++-- src/components/projects/tenantportal.tsx | 53 +++++++++++++++++++++++ src/components/projects/wiredworld.tsx | 48 ++++++++++++++++++++ 8 files changed, 257 insertions(+), 10 deletions(-) create mode 100644 src/components/projects/fuse.tsx create mode 100644 src/components/projects/lazyprimeagen.tsx create mode 100644 src/components/projects/sunhat.tsx create mode 100644 src/components/projects/tenantportal.tsx create mode 100644 src/components/projects/wiredworld.tsx diff --git a/src/app/page.tsx b/src/app/page.tsx index 828734c..fe5c831 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -3,6 +3,11 @@ import { PFPName } from "~/components/general/pfpname"; import AboutMe from "~/components/general/aboutme"; import TechChart from "~/components/general/techchart"; import TechTracker from "~/components/projects/techtracker"; +import Sunhat from "~/components/projects/sunhat"; +import WiredWorld from "~/components/projects/wiredworld"; +import Fuse from "~/components/projects/fuse"; +import LazyPrimeagen from "~/components/projects/lazyprimeagen"; +import TenantPortal from "~/components/projects/tenantportal"; //import Image from "next/image"; //import Link from "next/link"; @@ -11,14 +16,19 @@ export default function HomePage() {
- + < ThemeToggle />
- - - + < PFPName /> + < AboutMe /> + < TechChart />

Projects

- + < TechTracker /> + < Fuse /> + < Sunhat /> + < TenantPortal /> + < WiredWorld /> + < LazyPrimeagen />
); } diff --git a/src/components/general/techchart.tsx b/src/components/general/techchart.tsx index 284ddf7..dcf5e87 100644 --- a/src/components/general/techchart.tsx +++ b/src/components/general/techchart.tsx @@ -18,6 +18,7 @@ const chartData = [ { technology: "TypeScript", proficiency: 85 }, { technology: "Next.js", proficiency: 80 }, { technology: "React", proficiency: 80 }, + { technology: "SQL", proficiency: 80 }, { technology: "React Native", proficiency: 75 }, { technology: "Java", proficiency: 75 }, { technology: "PHP", proficiency: 70 }, @@ -34,7 +35,7 @@ const chartConfig = { export default function Component() { return ( - + @@ -63,7 +64,7 @@ export default function Component() { type="category" tickLine={false} axisLine={false} - width={90} + width={100} /> + + + +
+

+ Fuse (React Native, Next.js, & PostgreSQL) +

+ + < FaGithub className="my-auto ml-2" size={22} /> + +
+
+ +
+

+ Fuse is an Expo Application that served as a way to learn React + Native. This application was made for my girlfriend & I in order to send + each other messages, as well as provide a countdown timer for the next + time we would be together, as we are in a long distance relationship. + This application uses API's provided by a ‎ + + Next.js Web Application I also made for my girlfriend. + + ‎ This Web Application connect to a PostgreSQL + Database & is also self-hosted using a Docker Container. +

+
+
+
+
+ + ); +}; diff --git a/src/components/projects/lazyprimeagen.tsx b/src/components/projects/lazyprimeagen.tsx new file mode 100644 index 0000000..17a1512 --- /dev/null +++ b/src/components/projects/lazyprimeagen.tsx @@ -0,0 +1,41 @@ +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "~/components/ui/accordion" +import Link from "next/link"; +import { FaGithub } from "react-icons/fa"; + +export default function LazyPrimeagen() { + return ( +
+ + + +
+

+ Lazy Primeagen Neovim Config (Lua) +

+ + < FaGithub className="my-auto ml-2" size={22} /> + +
+
+ +
+

+ Lazy Primeagen is simply ThePrimeagen's Neovim Config, but with the + deprecated Packer.nvim replaced with Lazy.nvim. This project is meant + to be exactly the same as ThePrimeagen's Neovim Config, just with Lazy.nvim + instead of Packer.nvim. +

+
+
+
+
+
+ ); +}; diff --git a/src/components/projects/sunhat.tsx b/src/components/projects/sunhat.tsx new file mode 100644 index 0000000..14aaeae --- /dev/null +++ b/src/components/projects/sunhat.tsx @@ -0,0 +1,41 @@ +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "~/components/ui/accordion" +import Link from "next/link"; +import { FaGithub } from "react-icons/fa"; + +export default function Sunhat() { + return ( +
+ + + +
+

Sunhat (Bash)

+ + < FaGithub className="my-auto ml-2" size={22} /> + +
+
+ +
+

+ Sunhat is a fork of DHH's Omakub, an opinionated Ubuntu setup that + I have contributed to in the past. Sunhat is a complete rewrite as it + supports Fedora rather than Ubuntu. This project serves as my own personal + Fedora setup script, but provides a lot of wisdom to newcomers in the + Fedora / Linux community. +

+
+
+
+
+ +
+ ); +}; diff --git a/src/components/projects/techtracker.tsx b/src/components/projects/techtracker.tsx index cba4c39..1c10087 100644 --- a/src/components/projects/techtracker.tsx +++ b/src/components/projects/techtracker.tsx @@ -13,7 +13,7 @@ export default function TechTracker() { -

Tech Tracker

+

Tech Tracker (Next.js, Swift & MySQL)

@@ -23,7 +23,9 @@ export default function TechTracker() { Tech Tracker Web Application - + < FaGithub className="my-auto ml-2" size={22} />
@@ -46,7 +48,9 @@ export default function TechTracker() {

Tech Tracker Native iOS Application

- + < FaGithub className="my-auto ml-2" size={22} /> diff --git a/src/components/projects/tenantportal.tsx b/src/components/projects/tenantportal.tsx new file mode 100644 index 0000000..f7b9f29 --- /dev/null +++ b/src/components/projects/tenantportal.tsx @@ -0,0 +1,53 @@ +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "~/components/ui/accordion" +import Link from "next/link"; +import { FaGithub } from "react-icons/fa"; + +export default function TenantPortal() { + return ( +
+ + + +
+

+ Tenant Portal (Next.js & PostgreSQL) +

+ + < FaGithub className="my-auto ml-2" size={22} /> + +
+
+ +
+
+ +

+ Tenant Portal Website +

+ +
+

+ Tenant Portal is a Next.js Web Application that is a work in progress, + but will serve as an interface for future tenants of the company I rent + from. This application currently is only used by myself & my roommate, + as we continue to beta test the application & as I continue to develop it. +

+

+ This web application uses the T3 Stack which includes Next.js, TypeScript, + TailwindCSS, Auth.js, PostgreSQL, Drizzle, & Shadcnui. +

+
+
+
+
+ +
+ ); +}; diff --git a/src/components/projects/wiredworld.tsx b/src/components/projects/wiredworld.tsx new file mode 100644 index 0000000..8946cb5 --- /dev/null +++ b/src/components/projects/wiredworld.tsx @@ -0,0 +1,48 @@ +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "~/components/ui/accordion" +import Link from "next/link"; +import { FaGithub } from "react-icons/fa"; + +export default function WiredWorld() { + return ( +
+ + + +
+

+ Wired World (PHP & MySQL) +

+ + < FaGithub className="my-auto ml-2" size={22} /> + +
+
+ +
+
+ +

+ Wired World Website +

+ +
+

+ Wired World is a strange project of mine which was made as an assignment + while I was in school for my Database Management class. Wired World is + an online store written entirely from scratch using PHP & MySQL & is + self-hosted using a PHP Docker Container & Caddy as the reverse proxy. +

+
+
+
+
+
+ ); +};