{"id":27994291,"url":"https://github.com/zzackllack/portfolio","last_synced_at":"2025-05-08T19:10:03.683Z","repository":{"id":284184036,"uuid":"887523682","full_name":"Zzackllack/Portfolio","owner":"Zzackllack","description":"This repository contains a personal portfolio website built with React, TypeScript, and Vite, showcasing sections like introduction, about me, projects, and contact information.","archived":false,"fork":false,"pushed_at":"2025-05-03T02:11:40.000Z","size":238,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T19:09:59.540Z","etag":null,"topics":["portfolio","website"],"latest_commit_sha":null,"homepage":"https://cedric.zacklack.de/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zzackllack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-12T21:24:22.000Z","updated_at":"2025-05-03T02:11:43.000Z","dependencies_parsed_at":"2025-05-01T07:45:23.723Z","dependency_job_id":null,"html_url":"https://github.com/Zzackllack/Portfolio","commit_stats":null,"previous_names":["zzackllack/portfolio"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zzackllack%2FPortfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zzackllack%2FPortfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zzackllack%2FPortfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zzackllack%2FPortfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zzackllack","download_url":"https://codeload.github.com/Zzackllack/Portfolio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253133126,"owners_count":21859112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["portfolio","website"],"created_at":"2025-05-08T19:10:02.965Z","updated_at":"2025-05-08T19:10:03.660Z","avatar_url":"https://github.com/Zzackllack.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Portfolio - React + TypeScript + Vite (WIP)\n\nThis project is a personal portfolio website built with React, TypeScript, and Vite. It showcases various sections including an introduction, about me, projects, and contact information.\n\n## Table of Contents\n\n- [Getting Started](#getting-started)\n- [Project Structure](#project-structure)\n- [Available Scripts](#available-scripts)\n- [Expanding the ESLint Configuration](#expanding-the-eslint-configuration)\n- [Technologies Used](#technologies-used)\n- [License](#license)\n\n## Getting Started\n\nTo get a local copy up and running, follow these steps:\n\n### Prerequisites\n\n- Node.js (v14 or higher)\n- npm (v6 or higher) or yarn (v1.22 or higher)\n\n### Installation\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/Zzackllack/portfolio.git\n   ```\n2. Navigate to the project directory:\n   ```sh\n   cd portfolio\n   ```\n3. Install dependencies:\n   ```sh\n   npm install\n   ```\n   or\n   ```sh\n   yarn install\n   ```\n\n### Running the Development Server\n\nTo start the development server, run:\n\n```sh\nnpm run dev\n```\n\nor\n\n```sh\nyarn dev\n```\n\nThis will start the Vite development server and you can view the application at `http://localhost:3000`.\n\n## Project Structure\n\n```\n├── .gitignore\n├── eslint.config.js\n├── index.html\n├── package.json\n├── postcss.config.js\n├── public/\n├── README.md\n├── src/\n│   ├── App.tsx\n│   ├── components/\n│   │   ├── AboutSection.tsx\n│   │   ├── ContactSection.tsx\n│   │   ├── HeroSection.tsx\n│   │   ├── NavBar.tsx\n│   │   ├── ProjectsSection.tsx\n│   ├── index.css\n│   ├── main.tsx\n│   ├── vite-env.d.ts\n├── tailwind.config.js\n├── tsconfig.app.json\n├── tsconfig.json\n├── tsconfig.node.json\n└── vite.config.ts\n```\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n- `npm run dev` or `yarn dev`: Starts the development server.\n- `npm run build` or `yarn build`: Builds the app for production.\n- `npm run lint` or `yarn lint`: Runs ESLint to check for linting errors.\n- `npm run preview` or `yarn preview`: Previews the production build locally.\n\n## Expanding the ESLint Configuration\n\nIf you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:\n\n1. Configure the top-level `parserOptions` property like this:\n\n   ```js\n   export default tseslint.config({\n     languageOptions: {\n       // other options...\n       parserOptions: {\n         project: [\"./tsconfig.node.json\", \"./tsconfig.app.json\"],\n         tsconfigRootDir: import.meta.dirname,\n       },\n     },\n   });\n   ```\n\n2. Replace `tseslint.configs.recommended` with `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`.\n3. Optionally add `...tseslint.configs.stylisticTypeChecked`.\n4. Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:\n\n   ```js\n   // eslint.config.js\n   import react from \"eslint-plugin-react\";\n\n   export default tseslint.config({\n     // Set the react version\n     settings: { react: { version: \"18.3\" } },\n     plugins: {\n       // Add the react plugin\n       react,\n     },\n     rules: {\n       // other rules...\n       // Enable its recommended rules\n       ...react.configs.recommended.rules,\n       ...react.configs[\"jsx-runtime\"].rules,\n     },\n   });\n   ```\n\n## Technologies Used\n\n- **React**: A JavaScript library for building user interfaces.\n- **TypeScript**: A typed superset of JavaScript that compiles to plain JavaScript.\n- **Vite**: A build tool that provides a faster and leaner development experience for modern web projects.\n- **Tailwind CSS**: A utility-first CSS framework for rapid UI development.\n- **ESLint**: A tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.\n- **Lucide React**: A collection of simply beautiful open-source icons for React.\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n## Code Citations\n\n- License: **MIT**\n- *https://github.com/wchr-aun/resource-based-checklist-generation/tree/7f5702a3f90f0c1bf6759fbb1e5f27abcb5b26ba/frontend/src/features/ScrollToTop/ScrollToTop.tsx*\n\n```js\nscrolled, setScrolled] = useState(false);\n\nuseEffect(() =\u003e {\n  const handleScroll = () =\u003e {\n    setScrolled(window.scrollY \u003e 50);\n  };\n  window.addEventListener(\"scroll\", handleScroll);\n  return () =\u003e window.removeEventListener(\"scroll\", handleScroll);\n}, []);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzackllack%2Fportfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzzackllack%2Fportfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzackllack%2Fportfolio/lists"}