From 67644dfb348558da9c74dac9ffe1e064fa002b91 Mon Sep 17 00:00:00 2001 From: "[vinald]" Date: Sun, 17 Aug 2025 02:49:45 +0300 Subject: [PATCH 1/3] restructre of react root folder --- my-portfolio/.gitignore => .gitignore | 0 my-portfolio/README.md => README.md | 0 assets/script.js | 0 .../eslint.config.js => eslint.config.js | 0 index.html | 13 + my-portfolio/index.html | 13 - .../package-lock.json => package-lock.json | 640 +++++++++++++++++- my-portfolio/package.json => package.json | 6 +- {my-portfolio/public => public}/vite.svg | 0 {my-portfolio/src => src}/App.css | 0 {my-portfolio/src => src}/App.jsx | 0 {my-portfolio/src => src}/assets/images/1.jpg | Bin .../images/ProjectManagementCertificate.png | Bin .../assets/images/UIPECertificate.png | Bin .../src => src}/assets/images/addi.jpg | Bin .../src => src}/assets/images/blog.jpg | Bin .../src => src}/assets/images/bruno.jpg | Bin .../src => src}/assets/images/circuit.png | Bin .../src => src}/assets/images/daphine.jpg | Bin .../src => src}/assets/images/dash_board.png | Bin .../src => src}/assets/images/hisham.png | Bin .../src => src}/assets/images/hw.jpg | Bin .../src => src}/assets/images/irrigation.jpg | Bin .../src => src}/assets/images/irrigation2.jpg | Bin .../src => src}/assets/images/ivan.jpg | Bin .../src => src}/assets/images/kakeeto.jpg | Bin .../src => src}/assets/images/layout.jpg | Bin .../src => src}/assets/images/lender.png | Bin .../src => src}/assets/images/method.png | Bin .../src => src}/assets/images/models.png | Bin .../assets/images/netlabsugCertificate.png | Bin .../src => src}/assets/images/nickson.jpg | Bin .../src => src}/assets/images/patricia.jpg | Bin .../src => src}/assets/images/profile.jpg | Bin .../assets/images/profile_new_1.jpg | Bin .../assets/images/realtime_data.png | Bin .../src => src}/assets/images/trevallo.png | Bin .../src => src}/assets/images/viola.jpg | Bin .../src => src}/assets/images/wheelchair.jpg | Bin .../src => src}/assets/images/white.png | Bin {my-portfolio/src => src}/assets/react.svg | 0 {my-portfolio/src => src}/assets/resume.pdf | Bin .../src => src}/components/Contact.jsx | 0 .../src => src}/components/Education.jsx | 0 .../src => src}/components/Experience.jsx | 0 .../src => src}/components/Footer.jsx | 0 .../src => src}/components/Header.jsx | 0 {my-portfolio/src => src}/components/Hero.jsx | 0 .../src => src}/components/Navbar.jsx | 0 .../src => src}/components/Projects.jsx | 0 .../src => src}/components/Skills.jsx | 0 .../certificates/CertificateCard.jsx | 0 .../components/certificates/Certificates.jsx | 0 {my-portfolio/src => src}/index.css | 0 {my-portfolio/src => src}/main.jsx | 0 {my-portfolio/src => src}/styles.css | 0 my-portfolio/vite.config.js => vite.config.js | 2 +- 57 files changed, 640 insertions(+), 34 deletions(-) rename my-portfolio/.gitignore => .gitignore (100%) rename my-portfolio/README.md => README.md (100%) delete mode 100644 assets/script.js rename my-portfolio/eslint.config.js => eslint.config.js (100%) delete mode 100644 my-portfolio/index.html rename my-portfolio/package-lock.json => package-lock.json (82%) rename my-portfolio/package.json => package.json (77%) rename {my-portfolio/public => public}/vite.svg (100%) rename {my-portfolio/src => src}/App.css (100%) rename {my-portfolio/src => src}/App.jsx (100%) rename {my-portfolio/src => src}/assets/images/1.jpg (100%) rename {my-portfolio/src => src}/assets/images/ProjectManagementCertificate.png (100%) rename {my-portfolio/src => src}/assets/images/UIPECertificate.png (100%) rename {my-portfolio/src => src}/assets/images/addi.jpg (100%) rename {my-portfolio/src => src}/assets/images/blog.jpg (100%) rename {my-portfolio/src => src}/assets/images/bruno.jpg (100%) rename {my-portfolio/src => src}/assets/images/circuit.png (100%) rename {my-portfolio/src => src}/assets/images/daphine.jpg (100%) rename {my-portfolio/src => src}/assets/images/dash_board.png (100%) rename {my-portfolio/src => src}/assets/images/hisham.png (100%) rename {my-portfolio/src => src}/assets/images/hw.jpg (100%) rename {my-portfolio/src => src}/assets/images/irrigation.jpg (100%) rename {my-portfolio/src => src}/assets/images/irrigation2.jpg (100%) rename {my-portfolio/src => src}/assets/images/ivan.jpg (100%) rename {my-portfolio/src => src}/assets/images/kakeeto.jpg (100%) rename {my-portfolio/src => src}/assets/images/layout.jpg (100%) rename {my-portfolio/src => src}/assets/images/lender.png (100%) rename {my-portfolio/src => src}/assets/images/method.png (100%) rename {my-portfolio/src => src}/assets/images/models.png (100%) rename {my-portfolio/src => src}/assets/images/netlabsugCertificate.png (100%) rename {my-portfolio/src => src}/assets/images/nickson.jpg (100%) rename {my-portfolio/src => src}/assets/images/patricia.jpg (100%) rename {my-portfolio/src => src}/assets/images/profile.jpg (100%) rename {my-portfolio/src => src}/assets/images/profile_new_1.jpg (100%) rename {my-portfolio/src => src}/assets/images/realtime_data.png (100%) rename {my-portfolio/src => src}/assets/images/trevallo.png (100%) rename {my-portfolio/src => src}/assets/images/viola.jpg (100%) rename {my-portfolio/src => src}/assets/images/wheelchair.jpg (100%) rename {my-portfolio/src => src}/assets/images/white.png (100%) rename {my-portfolio/src => src}/assets/react.svg (100%) rename {my-portfolio/src => src}/assets/resume.pdf (100%) rename {my-portfolio/src => src}/components/Contact.jsx (100%) rename {my-portfolio/src => src}/components/Education.jsx (100%) rename {my-portfolio/src => src}/components/Experience.jsx (100%) rename {my-portfolio/src => src}/components/Footer.jsx (100%) rename {my-portfolio/src => src}/components/Header.jsx (100%) rename {my-portfolio/src => src}/components/Hero.jsx (100%) rename {my-portfolio/src => src}/components/Navbar.jsx (100%) rename {my-portfolio/src => src}/components/Projects.jsx (100%) rename {my-portfolio/src => src}/components/Skills.jsx (100%) rename {my-portfolio/src => src}/components/certificates/CertificateCard.jsx (100%) rename {my-portfolio/src => src}/components/certificates/Certificates.jsx (100%) rename {my-portfolio/src => src}/index.css (100%) rename {my-portfolio/src => src}/main.jsx (100%) rename {my-portfolio/src => src}/styles.css (100%) rename my-portfolio/vite.config.js => vite.config.js (82%) diff --git a/my-portfolio/.gitignore b/.gitignore similarity index 100% rename from my-portfolio/.gitignore rename to .gitignore diff --git a/my-portfolio/README.md b/README.md similarity index 100% rename from my-portfolio/README.md rename to README.md diff --git a/assets/script.js b/assets/script.js deleted file mode 100644 index e69de29..0000000 diff --git a/my-portfolio/eslint.config.js b/eslint.config.js similarity index 100% rename from my-portfolio/eslint.config.js rename to eslint.config.js diff --git a/index.html b/index.html index e69de29..0c589ec 100644 --- a/index.html +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/my-portfolio/index.html b/my-portfolio/index.html deleted file mode 100644 index 0c589ec..0000000 --- a/my-portfolio/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite + React - - -
- - - diff --git a/my-portfolio/package-lock.json b/package-lock.json similarity index 82% rename from my-portfolio/package-lock.json rename to package-lock.json index b2d8c19..b4c0b65 100644 --- a/my-portfolio/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "eslint": "^9.33.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", + "gh-pages": "^6.3.0", "globals": "^16.3.0", "vite": "^7.1.2" } @@ -1021,6 +1022,44 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@popperjs/core": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", @@ -1482,6 +1521,23 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1519,6 +1575,19 @@ "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browserslist": { "version": "4.25.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz", @@ -1620,6 +1689,23 @@ "dev": true, "license": "MIT" }, + "node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1681,6 +1767,19 @@ "dev": true, "license": "MIT" }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/electron-to-chromium": { "version": "1.5.203", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.203.tgz", @@ -1688,6 +1787,13 @@ "dev": true, "license": "ISC" }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", @@ -1938,6 +2044,36 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -1952,22 +2088,14 @@ "dev": true, "license": "MIT" }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" } }, "node_modules/file-entry-cache": { @@ -1983,6 +2111,65 @@ "node": ">=16.0.0" } }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -2021,6 +2208,21 @@ "dev": true, "license": "ISC" }, + "node_modules/fs-extra": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2046,6 +2248,29 @@ "node": ">=6.9.0" } }, + "node_modules/gh-pages": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.3.0.tgz", + "integrity": "sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.4", + "commander": "^13.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^11.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2072,6 +2297,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2142,6 +2395,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2216,6 +2479,19 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -2273,6 +2549,46 @@ "yallist": "^3.0.2" } }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2376,6 +2692,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -2409,6 +2735,16 @@ "node": ">=8" } }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -2417,18 +2753,87 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8.6" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -2478,6 +2883,27 @@ "node": ">=6" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/react": { "version": "19.1.1", "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", @@ -2519,6 +2945,17 @@ "node": ">=4" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rollup": { "version": "4.46.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz", @@ -2559,6 +2996,30 @@ "fsevents": "~2.3.2" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/scheduler": { "version": "0.26.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", @@ -2598,6 +3059,16 @@ "node": ">=8" } }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -2621,6 +3092,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2651,6 +3145,73 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -2664,6 +3225,16 @@ "node": ">= 0.8.0" } }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -2780,6 +3351,37 @@ } } }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/my-portfolio/package.json b/package.json similarity index 77% rename from my-portfolio/package.json rename to package.json index 2c17bfb..017fc79 100644 --- a/my-portfolio/package.json +++ b/package.json @@ -3,11 +3,14 @@ "private": true, "version": "0.0.0", "type": "module", + "homepage": "https://vinald.github.io/MyPortfolio", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint .", - "preview": "vite preview" + "preview": "vite preview", + "predeploy": "npm run build", + "deploy": "gh-pages -d dist" }, "dependencies": { "bootstrap": "^5.3.7", @@ -22,6 +25,7 @@ "eslint": "^9.33.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", + "gh-pages": "^6.3.0", "globals": "^16.3.0", "vite": "^7.1.2" } diff --git a/my-portfolio/public/vite.svg b/public/vite.svg similarity index 100% rename from my-portfolio/public/vite.svg rename to public/vite.svg diff --git a/my-portfolio/src/App.css b/src/App.css similarity index 100% rename from my-portfolio/src/App.css rename to src/App.css diff --git a/my-portfolio/src/App.jsx b/src/App.jsx similarity index 100% rename from my-portfolio/src/App.jsx rename to src/App.jsx diff --git a/my-portfolio/src/assets/images/1.jpg b/src/assets/images/1.jpg similarity index 100% rename from my-portfolio/src/assets/images/1.jpg rename to src/assets/images/1.jpg diff --git a/my-portfolio/src/assets/images/ProjectManagementCertificate.png b/src/assets/images/ProjectManagementCertificate.png similarity index 100% rename from my-portfolio/src/assets/images/ProjectManagementCertificate.png rename to src/assets/images/ProjectManagementCertificate.png diff --git a/my-portfolio/src/assets/images/UIPECertificate.png b/src/assets/images/UIPECertificate.png similarity index 100% rename from my-portfolio/src/assets/images/UIPECertificate.png rename to src/assets/images/UIPECertificate.png diff --git a/my-portfolio/src/assets/images/addi.jpg b/src/assets/images/addi.jpg similarity index 100% rename from my-portfolio/src/assets/images/addi.jpg rename to src/assets/images/addi.jpg diff --git a/my-portfolio/src/assets/images/blog.jpg b/src/assets/images/blog.jpg similarity index 100% rename from my-portfolio/src/assets/images/blog.jpg rename to src/assets/images/blog.jpg diff --git a/my-portfolio/src/assets/images/bruno.jpg b/src/assets/images/bruno.jpg similarity index 100% rename from my-portfolio/src/assets/images/bruno.jpg rename to src/assets/images/bruno.jpg diff --git a/my-portfolio/src/assets/images/circuit.png b/src/assets/images/circuit.png similarity index 100% rename from my-portfolio/src/assets/images/circuit.png rename to src/assets/images/circuit.png diff --git a/my-portfolio/src/assets/images/daphine.jpg b/src/assets/images/daphine.jpg similarity index 100% rename from my-portfolio/src/assets/images/daphine.jpg rename to src/assets/images/daphine.jpg diff --git a/my-portfolio/src/assets/images/dash_board.png b/src/assets/images/dash_board.png similarity index 100% rename from my-portfolio/src/assets/images/dash_board.png rename to src/assets/images/dash_board.png diff --git a/my-portfolio/src/assets/images/hisham.png b/src/assets/images/hisham.png similarity index 100% rename from my-portfolio/src/assets/images/hisham.png rename to src/assets/images/hisham.png diff --git a/my-portfolio/src/assets/images/hw.jpg b/src/assets/images/hw.jpg similarity index 100% rename from my-portfolio/src/assets/images/hw.jpg rename to src/assets/images/hw.jpg diff --git a/my-portfolio/src/assets/images/irrigation.jpg b/src/assets/images/irrigation.jpg similarity index 100% rename from my-portfolio/src/assets/images/irrigation.jpg rename to src/assets/images/irrigation.jpg diff --git a/my-portfolio/src/assets/images/irrigation2.jpg b/src/assets/images/irrigation2.jpg similarity index 100% rename from my-portfolio/src/assets/images/irrigation2.jpg rename to src/assets/images/irrigation2.jpg diff --git a/my-portfolio/src/assets/images/ivan.jpg b/src/assets/images/ivan.jpg similarity index 100% rename from my-portfolio/src/assets/images/ivan.jpg rename to src/assets/images/ivan.jpg diff --git a/my-portfolio/src/assets/images/kakeeto.jpg b/src/assets/images/kakeeto.jpg similarity index 100% rename from my-portfolio/src/assets/images/kakeeto.jpg rename to src/assets/images/kakeeto.jpg diff --git a/my-portfolio/src/assets/images/layout.jpg b/src/assets/images/layout.jpg similarity index 100% rename from my-portfolio/src/assets/images/layout.jpg rename to src/assets/images/layout.jpg diff --git a/my-portfolio/src/assets/images/lender.png b/src/assets/images/lender.png similarity index 100% rename from my-portfolio/src/assets/images/lender.png rename to src/assets/images/lender.png diff --git a/my-portfolio/src/assets/images/method.png b/src/assets/images/method.png similarity index 100% rename from my-portfolio/src/assets/images/method.png rename to src/assets/images/method.png diff --git a/my-portfolio/src/assets/images/models.png b/src/assets/images/models.png similarity index 100% rename from my-portfolio/src/assets/images/models.png rename to src/assets/images/models.png diff --git a/my-portfolio/src/assets/images/netlabsugCertificate.png b/src/assets/images/netlabsugCertificate.png similarity index 100% rename from my-portfolio/src/assets/images/netlabsugCertificate.png rename to src/assets/images/netlabsugCertificate.png diff --git a/my-portfolio/src/assets/images/nickson.jpg b/src/assets/images/nickson.jpg similarity index 100% rename from my-portfolio/src/assets/images/nickson.jpg rename to src/assets/images/nickson.jpg diff --git a/my-portfolio/src/assets/images/patricia.jpg b/src/assets/images/patricia.jpg similarity index 100% rename from my-portfolio/src/assets/images/patricia.jpg rename to src/assets/images/patricia.jpg diff --git a/my-portfolio/src/assets/images/profile.jpg b/src/assets/images/profile.jpg similarity index 100% rename from my-portfolio/src/assets/images/profile.jpg rename to src/assets/images/profile.jpg diff --git a/my-portfolio/src/assets/images/profile_new_1.jpg b/src/assets/images/profile_new_1.jpg similarity index 100% rename from my-portfolio/src/assets/images/profile_new_1.jpg rename to src/assets/images/profile_new_1.jpg diff --git a/my-portfolio/src/assets/images/realtime_data.png b/src/assets/images/realtime_data.png similarity index 100% rename from my-portfolio/src/assets/images/realtime_data.png rename to src/assets/images/realtime_data.png diff --git a/my-portfolio/src/assets/images/trevallo.png b/src/assets/images/trevallo.png similarity index 100% rename from my-portfolio/src/assets/images/trevallo.png rename to src/assets/images/trevallo.png diff --git a/my-portfolio/src/assets/images/viola.jpg b/src/assets/images/viola.jpg similarity index 100% rename from my-portfolio/src/assets/images/viola.jpg rename to src/assets/images/viola.jpg diff --git a/my-portfolio/src/assets/images/wheelchair.jpg b/src/assets/images/wheelchair.jpg similarity index 100% rename from my-portfolio/src/assets/images/wheelchair.jpg rename to src/assets/images/wheelchair.jpg diff --git a/my-portfolio/src/assets/images/white.png b/src/assets/images/white.png similarity index 100% rename from my-portfolio/src/assets/images/white.png rename to src/assets/images/white.png diff --git a/my-portfolio/src/assets/react.svg b/src/assets/react.svg similarity index 100% rename from my-portfolio/src/assets/react.svg rename to src/assets/react.svg diff --git a/my-portfolio/src/assets/resume.pdf b/src/assets/resume.pdf similarity index 100% rename from my-portfolio/src/assets/resume.pdf rename to src/assets/resume.pdf diff --git a/my-portfolio/src/components/Contact.jsx b/src/components/Contact.jsx similarity index 100% rename from my-portfolio/src/components/Contact.jsx rename to src/components/Contact.jsx diff --git a/my-portfolio/src/components/Education.jsx b/src/components/Education.jsx similarity index 100% rename from my-portfolio/src/components/Education.jsx rename to src/components/Education.jsx diff --git a/my-portfolio/src/components/Experience.jsx b/src/components/Experience.jsx similarity index 100% rename from my-portfolio/src/components/Experience.jsx rename to src/components/Experience.jsx diff --git a/my-portfolio/src/components/Footer.jsx b/src/components/Footer.jsx similarity index 100% rename from my-portfolio/src/components/Footer.jsx rename to src/components/Footer.jsx diff --git a/my-portfolio/src/components/Header.jsx b/src/components/Header.jsx similarity index 100% rename from my-portfolio/src/components/Header.jsx rename to src/components/Header.jsx diff --git a/my-portfolio/src/components/Hero.jsx b/src/components/Hero.jsx similarity index 100% rename from my-portfolio/src/components/Hero.jsx rename to src/components/Hero.jsx diff --git a/my-portfolio/src/components/Navbar.jsx b/src/components/Navbar.jsx similarity index 100% rename from my-portfolio/src/components/Navbar.jsx rename to src/components/Navbar.jsx diff --git a/my-portfolio/src/components/Projects.jsx b/src/components/Projects.jsx similarity index 100% rename from my-portfolio/src/components/Projects.jsx rename to src/components/Projects.jsx diff --git a/my-portfolio/src/components/Skills.jsx b/src/components/Skills.jsx similarity index 100% rename from my-portfolio/src/components/Skills.jsx rename to src/components/Skills.jsx diff --git a/my-portfolio/src/components/certificates/CertificateCard.jsx b/src/components/certificates/CertificateCard.jsx similarity index 100% rename from my-portfolio/src/components/certificates/CertificateCard.jsx rename to src/components/certificates/CertificateCard.jsx diff --git a/my-portfolio/src/components/certificates/Certificates.jsx b/src/components/certificates/Certificates.jsx similarity index 100% rename from my-portfolio/src/components/certificates/Certificates.jsx rename to src/components/certificates/Certificates.jsx diff --git a/my-portfolio/src/index.css b/src/index.css similarity index 100% rename from my-portfolio/src/index.css rename to src/index.css diff --git a/my-portfolio/src/main.jsx b/src/main.jsx similarity index 100% rename from my-portfolio/src/main.jsx rename to src/main.jsx diff --git a/my-portfolio/src/styles.css b/src/styles.css similarity index 100% rename from my-portfolio/src/styles.css rename to src/styles.css diff --git a/my-portfolio/vite.config.js b/vite.config.js similarity index 82% rename from my-portfolio/vite.config.js rename to vite.config.js index 8b0f57b..2b6535c 100644 --- a/my-portfolio/vite.config.js +++ b/vite.config.js @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' -// https://vite.dev/config/ export default defineConfig({ plugins: [react()], + base: '/MyPortfolio/', }) From 39e080ea6992f9b08f36a4587ad010e01aee4a36 Mon Sep 17 00:00:00 2001 From: "[vinald]" Date: Sun, 17 Aug 2025 02:52:23 +0300 Subject: [PATCH 2/3] github actions --- .github/workflows/main.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..5b9b4b2 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,22 @@ +name: CI/CD + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + - name: Install dependencies + run: npm install + - name: Run build + run: npm run build From 2ca7f9f7c5eb1f9303a2230a19056fdc28849b38 Mon Sep 17 00:00:00 2001 From: "[vinald]" Date: Sun, 17 Aug 2025 03:01:47 +0300 Subject: [PATCH 3/3] readme update --- README.md | 101 +++++++++++++++++++++++++++++++++++++++++++++++++---- index.html | 2 +- 2 files changed, 95 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 7059a96..9c45198 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,99 @@ -# React + Vite +# MyPortfolio -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +Welcome to **MyPortfolio**, a personal portfolio website showcasing projects, skills, and achievements. This project is built using modern web technologies to create a responsive and visually appealing design. -Currently, two official plugins are available: +## Features -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +- **Responsive Design**: Optimized for all screen sizes, including mobile, tablet, and desktop. +- **Dynamic Content**: Showcases projects, certificates, and skills dynamically. +- **Modern UI**: Built with Bootstrap and custom CSS for a clean and professional look. +- **React Integration**: Components-based architecture for modular and reusable code. -## Expanding the ESLint configuration +## Technologies Used -If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. +- **Frontend**: React, HTML5, CSS3, JavaScript +- **Styling**: Bootstrap 5, Custom CSS +- **Build Tool**: Vite + +## Installation + +To run this project locally, follow these steps: + +1. Clone the repository: + + ```bash + git clone https://github.com//MyPortfolio.git + ``` + +2. Navigate to the project directory: + + ```bash + cd MyPortfolio/my-portfolio + ``` + +3. Install dependencies: + + ```bash + npm install + ``` + +4. Start the development server: + + ```bash + npm run dev + ``` + +5. Open your browser and navigate to `http://localhost:5173`. + +## Deployment + +This project can be deployed using GitHub Pages hosting service. To deploy using GitHub Pages: + +1. Install the `gh-pages` package: + + ```bash + npm install gh-pages --save-dev + ``` + +2. Add the following scripts to your `package.json`: + + ```json + "scripts": { + "predeploy": "npm run build", + "deploy": "gh-pages -d build" + } + ``` + +3. Deploy the app: + ```bash + npm run deploy + ``` + +## Folder Structure + +``` +MyPortfolio/ +├── assets/ # Static assets like images, PDFs +├── components/ # React components +├── styles.css # Custom styles +├── index.html # Main HTML file +├── src/ # React source files +└── README.md # Project documentation +``` + +## Contributing + +Contributions are welcome! If you have suggestions or improvements, feel free to open an issue or submit a pull request. + +## License + +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. + +## Contact + +For any inquiries, please contact: + +- **Name**: Okiror Samuel Vinald +- **Email**: okiror1vinald@gmail.com +- **GitHub**: [Vinald](https://github.com/vinald) +- **LinkedIn**: [Okiror Samuel Vinald](https://linkedin.com/in/okiror-samuel-vinald-91a978254) diff --git a/index.html b/index.html index 0c589ec..62e9288 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - Vite + React + Okiror Samuel Vinald