Add more projects
This commit is contained in:
parent
3c6cf095db
commit
458486bee9
@ -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";
|
||||
|
||||
@ -19,6 +24,11 @@ export default function HomePage() {
|
||||
< TechChart />
|
||||
<h1 className="text-3xl font-semibold text-center my-8">Projects</h1>
|
||||
< TechTracker />
|
||||
< Fuse />
|
||||
< Sunhat />
|
||||
< TenantPortal />
|
||||
< WiredWorld />
|
||||
< LazyPrimeagen />
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
@ -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 (
|
||||
<Card className="max-w-xl mx-auto">
|
||||
<Card className="max-w-2xl mx-auto">
|
||||
<CardHeader/>
|
||||
<CardContent>
|
||||
<ChartContainer config={chartConfig}>
|
||||
@ -63,7 +64,7 @@ export default function Component() {
|
||||
type="category"
|
||||
tickLine={false}
|
||||
axisLine={false}
|
||||
width={90}
|
||||
width={100}
|
||||
/>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
|
49
src/components/projects/fuse.tsx
Normal file
49
src/components/projects/fuse.tsx
Normal file
@ -0,0 +1,49 @@
|
||||
import {
|
||||
Accordion,
|
||||
AccordionContent,
|
||||
AccordionItem,
|
||||
AccordionTrigger,
|
||||
} from "~/components/ui/accordion"
|
||||
import Link from "next/link";
|
||||
import { FaGithub } from "react-icons/fa";
|
||||
|
||||
export default function Fuse() {
|
||||
return (
|
||||
<section className="my-6 flex flex-col items-center justify-center m-auto">
|
||||
<Accordion type="single" collapsible className="w-1/3">
|
||||
<AccordionItem value="item-1">
|
||||
<AccordionTrigger>
|
||||
<div className="flex flex-row mx-auto">
|
||||
<h1 className="text-2xl font-semibold text-center mx-auto">
|
||||
Fuse (React Native, Next.js, & PostgreSQL)
|
||||
</h1>
|
||||
<Link href="https://git.gbrown.org/gib/fuse_expo"
|
||||
className="my-auto"
|
||||
>
|
||||
< FaGithub className="my-auto ml-2" size={22} />
|
||||
</Link>
|
||||
</div>
|
||||
</AccordionTrigger>
|
||||
<AccordionContent>
|
||||
<div className="flex flex-col">
|
||||
<p className="indent-4">
|
||||
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
|
||||
<Link href="https://ismadelinethecutest.gibbyb.com"
|
||||
className="underline hover:text-blue-500"
|
||||
>
|
||||
Next.js Web Application I also made for my girlfriend.
|
||||
</Link>
|
||||
This Web Application connect to a PostgreSQL
|
||||
Database & is also self-hosted using a Docker Container.
|
||||
</p>
|
||||
</div>
|
||||
</AccordionContent>
|
||||
</AccordionItem>
|
||||
</Accordion>
|
||||
</section>
|
||||
);
|
||||
};
|
41
src/components/projects/lazyprimeagen.tsx
Normal file
41
src/components/projects/lazyprimeagen.tsx
Normal file
@ -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 (
|
||||
<section className="my-6 flex flex-col items-center justify-center m-auto">
|
||||
<Accordion type="single" collapsible className="w-1/3">
|
||||
<AccordionItem value="item-1">
|
||||
<AccordionTrigger>
|
||||
<div className="flex flex-row mx-auto">
|
||||
<h1 className="text-2xl font-semibold text-center mx-auto">
|
||||
Lazy Primeagen Neovim Config (Lua)
|
||||
</h1>
|
||||
<Link href="https://github.com/gibbyb/Lazy_Primeagen"
|
||||
className="my-auto"
|
||||
>
|
||||
< FaGithub className="my-auto ml-2" size={22} />
|
||||
</Link>
|
||||
</div>
|
||||
</AccordionTrigger>
|
||||
<AccordionContent>
|
||||
<div className="flex flex-col items-center justify-center">
|
||||
<p className="indent-4 items-center justify-center">
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
</AccordionContent>
|
||||
</AccordionItem>
|
||||
</Accordion>
|
||||
</section>
|
||||
);
|
||||
};
|
41
src/components/projects/sunhat.tsx
Normal file
41
src/components/projects/sunhat.tsx
Normal file
@ -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 (
|
||||
<section className="my-6 flex flex-col items-center justify-center m-auto">
|
||||
<Accordion type="single" collapsible className="w-1/3">
|
||||
<AccordionItem value="item-1">
|
||||
<AccordionTrigger>
|
||||
<div className="flex flex-row mx-auto">
|
||||
<h1 className="text-2xl font-semibold text-center mx-auto">Sunhat (Bash)</h1>
|
||||
<Link href="https://git.gbrown.org/gib/sunhat"
|
||||
className="my-auto"
|
||||
>
|
||||
< FaGithub className="my-auto ml-2" size={22} />
|
||||
</Link>
|
||||
</div>
|
||||
</AccordionTrigger>
|
||||
<AccordionContent>
|
||||
<div className="flex flex-col">
|
||||
<p className="indent-4">
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
</AccordionContent>
|
||||
</AccordionItem>
|
||||
</Accordion>
|
||||
|
||||
</section>
|
||||
);
|
||||
};
|
@ -13,7 +13,7 @@ export default function TechTracker() {
|
||||
<Accordion type="single" collapsible className="w-1/3">
|
||||
<AccordionItem value="item-1">
|
||||
<AccordionTrigger>
|
||||
<h1 className="text-2xl font-semibold text-center mx-auto">Tech Tracker</h1>
|
||||
<h1 className="text-2xl font-semibold text-center mx-auto">Tech Tracker (Next.js, Swift & MySQL)</h1>
|
||||
</AccordionTrigger>
|
||||
<AccordionContent>
|
||||
<div className="flex flex-col">
|
||||
@ -23,7 +23,9 @@ export default function TechTracker() {
|
||||
Tech Tracker Web Application
|
||||
</h2>
|
||||
</Link>
|
||||
<Link href="https://git.gbrown.org/gib/Tech_Tracker_Web">
|
||||
<Link href="https://git.gbrown.org/gib/Tech_Tracker_Web"
|
||||
className="my-auto"
|
||||
>
|
||||
< FaGithub className="my-auto ml-2" size={22} />
|
||||
</Link>
|
||||
</div>
|
||||
@ -46,7 +48,9 @@ export default function TechTracker() {
|
||||
<h2 className="text-lg font-semibold text-center">
|
||||
Tech Tracker Native iOS Application
|
||||
</h2>
|
||||
<Link href="https://git.gbrown.org/gib/Tech_Tracker_iOS">
|
||||
<Link href="https://git.gbrown.org/gib/Tech_Tracker_iOS"
|
||||
className="my-auto"
|
||||
>
|
||||
< FaGithub className="my-auto ml-2" size={22} />
|
||||
</Link>
|
||||
</div>
|
||||
|
53
src/components/projects/tenantportal.tsx
Normal file
53
src/components/projects/tenantportal.tsx
Normal file
@ -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 (
|
||||
<section className="my-6 flex flex-col items-center justify-center m-auto">
|
||||
<Accordion type="single" collapsible className="w-1/3">
|
||||
<AccordionItem value="item-1">
|
||||
<AccordionTrigger>
|
||||
<div className="flex flex-row mx-auto">
|
||||
<h1 className="text-2xl font-semibold text-center mx-auto">
|
||||
Tenant Portal (Next.js & PostgreSQL)
|
||||
</h1>
|
||||
<Link href="https://git.gbrown.org/gib/rent_portal"
|
||||
className="my-auto"
|
||||
>
|
||||
< FaGithub className="my-auto ml-2" size={22} />
|
||||
</Link>
|
||||
</div>
|
||||
</AccordionTrigger>
|
||||
<AccordionContent>
|
||||
<div className="flex flex-col items-center justify-center">
|
||||
<div className="flex flex-row my-4 mx-auto">
|
||||
<Link href="https://tenantportal.gibbyb.com">
|
||||
<h2 className="text-lg font-semibold text-center underline hover:text-blue-500">
|
||||
Tenant Portal Website
|
||||
</h2>
|
||||
</Link>
|
||||
</div>
|
||||
<p className="indent-4 items-center justify-center">
|
||||
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.
|
||||
</p>
|
||||
<p className="indent-4 items-center justify-center">
|
||||
This web application uses the T3 Stack which includes Next.js, TypeScript,
|
||||
TailwindCSS, Auth.js, PostgreSQL, Drizzle, & Shadcnui.
|
||||
</p>
|
||||
</div>
|
||||
</AccordionContent>
|
||||
</AccordionItem>
|
||||
</Accordion>
|
||||
|
||||
</section>
|
||||
);
|
||||
};
|
48
src/components/projects/wiredworld.tsx
Normal file
48
src/components/projects/wiredworld.tsx
Normal file
@ -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 (
|
||||
<section className="my-6 flex flex-col items-center justify-center m-auto">
|
||||
<Accordion type="single" collapsible className="w-1/3">
|
||||
<AccordionItem value="item-1">
|
||||
<AccordionTrigger>
|
||||
<div className="flex flex-row mx-auto">
|
||||
<h1 className="text-2xl font-semibold text-center mx-auto">
|
||||
Wired World (PHP & MySQL)
|
||||
</h1>
|
||||
<Link href="https://github.com/gibbyb/WiredWorld"
|
||||
className="my-auto"
|
||||
>
|
||||
< FaGithub className="my-auto ml-2" size={22} />
|
||||
</Link>
|
||||
</div>
|
||||
</AccordionTrigger>
|
||||
<AccordionContent>
|
||||
<div className="flex flex-col">
|
||||
<div className="flex flex-row my-4 mx-auto">
|
||||
<Link href="https://wiredworld.gbrown.org">
|
||||
<h2 className="text-lg font-semibold text-center underline hover:text-blue-500">
|
||||
Wired World Website
|
||||
</h2>
|
||||
</Link>
|
||||
</div>
|
||||
<p className="indent-4">
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
</AccordionContent>
|
||||
</AccordionItem>
|
||||
</Accordion>
|
||||
</section>
|
||||
);
|
||||
};
|
Loading…
Reference in New Issue
Block a user