refactor: change the data retrival to only one json file

This commit is contained in:
Alvalen 2025-01-15 13:52:51 +07:00
parent 415eede707
commit 4bbcdd3ce4
23 changed files with 110 additions and 218 deletions

View file

@ -6,110 +6,10 @@ import { faGithub } from "@fortawesome/free-brands-svg-icons";
import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons";
import FixedButon from "@/components/FixedButton";
import { faChevronLeft } from "@fortawesome/free-solid-svg-icons";
const projects = [
{
year: "2024",
title: "Generative Trivia",
tech: "NextJS, Gemini AI, TailwindCSS, ShadcnUI, Firebase",
github: "https://github.com/Alvalens/generative-trivia",
preview: "https://generative-trivia.vercel.app/",
},
{
year: "2024",
title: "Saku Senyum",
tech: "NextJS, TypeScript, TailwindCSS, ShadcnUI, Prisma, MySQL",
},
{
year: "2024",
title: "SIMADUN",
tech: "Laravel, Bootstrap, JQuery, MySQL, DataTables",
},
{
year: "2023",
title: "LUDOang",
tech: "Python, Pygame, OpenGL",
github: "https://github.com/Alvalens/ludo-game",
preview:
"https://github.com/Alvalens/ludo-game/releases/tag/pre-release",
},
{
year: "2023",
title: "React Realtime Chat",
tech: "Javascript, React Js, Firebase, Daisy UI",
github: "https://github.com/Alvalens/react-realtime-chat",
preview: "https://react-chat-rouge.vercel.app",
},
{
year: "2023",
title: "React Tools",
tech: "Javascript, React Js, TailwindCSS",
github: "https://github.com/Alvalens/react-tools",
preview: "react-tools-flax.vercel.app",
},
{
year: "2023",
title: "Aleph Discord Bot",
tech: "Python, Serp API, Discord.py",
github: "https://github.com/Alvalens/aleph-discord-bot",
},
{
year: "2023",
title: "LPTK CUP UM 2023",
tech: "PHP, Laravel, Bootstrap, MySQL, jQuery, DataTables",
github: "",
preview: "",
},
{
year: "2023",
title: "NU INO Website",
tech: "PHP, Laravel, Livewire Bootstrap, MySQL, jQuery, DataTables",
github: "",
preview: "",
},
{
year: "2023",
title: "Unmuh Jember Landing Page",
tech: "HTML, CSS, Javascript",
github: "https://github.com/Alvalens/unmuh-jember-landing-page",
preview: "https://alvalens.github.io/unmuh-jember-landing-page/",
},
{
year: "2022",
title: "Alvalens Website",
tech: "Javascript, Next Js, TailwindCSS",
github: "https://github.com/Alvalens/Alvalens-porto-1",
preview: "https://alvalens.my.id",
},
{
year: "2023",
title: "Python audio tranlator",
tech: "Python, Assembly AI",
github: "https://github.com/Alvalens/python-audio-translation",
preview: "",
},
{
year: "2023",
title: "A4 Education website",
tech: "PHP, Laravel, Bootstrap, MySQL, jQuery, DataTables",
github: "https://github.com/Alvalens/A4",
preview: "",
},
{
year: "2023",
title: "Cry Cast crypto forecast",
tech: "PHP, Laravel, Bootstrap, MySQL",
github: "https://github.com/Alvalens/cry-cast",
preview: "",
},
{
year: "2023",
title: "Mini Harbor",
tech: "Python, Pygame",
github: "https://github.com/Alvalens/mini-harbor",
preview: "",
},
];
import Projects from "@/json/data.json"
export default function Page () {
const projects = Projects.Projects
return (
<>
<main className="overflow-hidden">
@ -188,12 +88,14 @@ export default function Page () {
className="hover:shadow-md transition-all ease duration-500">
<td>{project.year}</td>
<td>{project.title}</td>
<td>{project.tech}</td>
<td>
{project.tech.map((t) => `${t}, `)}
</td>
<td>
<div className="flex flex-row justify-center items-center">
{project.github && (
{project.code && (
<a
href={project.github}
href={project.code}
title="Link to GitHub">
<FontAwesomeIcon
icon={faGithub}