diff --git a/.gitignore b/.gitignore index bc04f5e..6616851 100644 --- a/.gitignore +++ b/.gitignore @@ -132,4 +132,5 @@ dist # Configuration Files pease-portfolio/src/app/projects.json -/pease-portfolio/.vercel \ No newline at end of file +/pease-portfolio/.vercel +.vercel diff --git a/pease-portfolio/package.json b/pease-portfolio/package.json index 1ec66f1..d5fc122 100644 --- a/pease-portfolio/package.json +++ b/pease-portfolio/package.json @@ -23,6 +23,7 @@ "react-dom": "^18", "react-file-viewer": "^1.2.1", "react-iframe": "^1.8.5", + "react-photoswipe-gallery": "^3.0.2", "react-youtube": "^10.1.0", "vercel": "^37.6.1" }, diff --git a/pease-portfolio/pnpm-lock.yaml b/pease-portfolio/pnpm-lock.yaml index a56160f..0822393 100644 --- a/pease-portfolio/pnpm-lock.yaml +++ b/pease-portfolio/pnpm-lock.yaml @@ -50,6 +50,9 @@ importers: react-iframe: specifier: ^1.8.5 version: 1.8.5(react@18.3.1) + react-photoswipe-gallery: + specifier: ^3.0.2 + version: 3.0.2(photoswipe@5.4.4)(prop-types@15.8.1)(react@18.3.1) react-youtube: specifier: ^10.1.0 version: 10.1.0(react@18.3.1) @@ -2863,6 +2866,10 @@ packages: pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + photoswipe@5.4.4: + resolution: {integrity: sha512-WNFHoKrkZNnvFFhbHL93WDkW3ifwVOXSW3w1UuZZelSmgXpIGiZSNlZJq37rR8YejqME2rHs9EhH9ZvlvFH2NA==} + engines: {node: '>= 0.12.0'} + picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -3048,6 +3055,13 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-photoswipe-gallery@3.0.2: + resolution: {integrity: sha512-TLkpzp2BSUUL/4GPRU5SQWXfJ8xuUBKgS8qUaHyhsT1co6CStr1mVCl4oQrSSFbWxAKhB5fHbr12l1R+TkqFcQ==} + peerDependencies: + photoswipe: '>= 5.2.2' + prop-types: '>= 15.7.0' + react: '>= 16.8.0' + react-transition-group@4.4.5: resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: @@ -7181,6 +7195,8 @@ snapshots: pend@1.2.0: {} + photoswipe@5.4.4: {} + picocolors@1.0.0: {} picocolors@1.0.1: {} @@ -7364,6 +7380,12 @@ snapshots: react-is@18.3.1: {} + react-photoswipe-gallery@3.0.2(photoswipe@5.4.4)(prop-types@15.8.1)(react@18.3.1): + dependencies: + photoswipe: 5.4.4 + prop-types: 15.8.1 + react: 18.3.1 + react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.6 diff --git a/pease-portfolio/public/images/satimg.jpg b/pease-portfolio/public/images/satimg.jpg new file mode 100644 index 0000000..a4616f6 Binary files /dev/null and b/pease-portfolio/public/images/satimg.jpg differ diff --git a/pease-portfolio/public/images/weather/composite-1.png b/pease-portfolio/public/images/weather/composite-1.png new file mode 100644 index 0000000..6cc959c Binary files /dev/null and b/pease-portfolio/public/images/weather/composite-1.png differ diff --git a/pease-portfolio/public/images/weather/composite-2.png b/pease-portfolio/public/images/weather/composite-2.png new file mode 100644 index 0000000..2ead183 Binary files /dev/null and b/pease-portfolio/public/images/weather/composite-2.png differ diff --git a/pease-portfolio/public/images/weather/meteor1.bmp b/pease-portfolio/public/images/weather/meteor1.bmp new file mode 100644 index 0000000..e319913 Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor1.bmp differ diff --git a/pease-portfolio/public/images/weather/meteor1.jpg b/pease-portfolio/public/images/weather/meteor1.jpg new file mode 100644 index 0000000..88b9910 Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor1.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor10.jpg b/pease-portfolio/public/images/weather/meteor10.jpg new file mode 100644 index 0000000..9eeaece Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor10.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor11.bmp b/pease-portfolio/public/images/weather/meteor11.bmp new file mode 100644 index 0000000..3da0653 Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor11.bmp differ diff --git a/pease-portfolio/public/images/weather/meteor2.jpg b/pease-portfolio/public/images/weather/meteor2.jpg new file mode 100644 index 0000000..60c90b6 Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor2.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor3.jpg b/pease-portfolio/public/images/weather/meteor3.jpg new file mode 100644 index 0000000..c727418 Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor3.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor4.jpg b/pease-portfolio/public/images/weather/meteor4.jpg new file mode 100644 index 0000000..e3d03ca Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor4.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor6.jpg b/pease-portfolio/public/images/weather/meteor6.jpg new file mode 100644 index 0000000..9c81071 Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor6.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor7.bmp b/pease-portfolio/public/images/weather/meteor7.bmp new file mode 100644 index 0000000..9819b1f Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor7.bmp differ diff --git a/pease-portfolio/public/images/weather/meteor7.jpg b/pease-portfolio/public/images/weather/meteor7.jpg new file mode 100644 index 0000000..ab4b8ae Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor7.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor8.jpg b/pease-portfolio/public/images/weather/meteor8.jpg new file mode 100644 index 0000000..39b5ff7 Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor8.jpg differ diff --git a/pease-portfolio/public/images/weather/meteor9.jpg b/pease-portfolio/public/images/weather/meteor9.jpg new file mode 100644 index 0000000..025a49b Binary files /dev/null and b/pease-portfolio/public/images/weather/meteor9.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass10.jpg b/pease-portfolio/public/images/weather/satpass10.jpg new file mode 100644 index 0000000..d0a454b Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass10.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass11.jpg b/pease-portfolio/public/images/weather/satpass11.jpg new file mode 100644 index 0000000..0ef4586 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass11.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass13.jpg b/pease-portfolio/public/images/weather/satpass13.jpg new file mode 100644 index 0000000..807e889 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass13.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass14.jpg b/pease-portfolio/public/images/weather/satpass14.jpg new file mode 100644 index 0000000..28365ed Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass14.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass15.jpg b/pease-portfolio/public/images/weather/satpass15.jpg new file mode 100644 index 0000000..3709690 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass15.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass16.jpg b/pease-portfolio/public/images/weather/satpass16.jpg new file mode 100644 index 0000000..d2f1595 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass16.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass17.jpg b/pease-portfolio/public/images/weather/satpass17.jpg new file mode 100644 index 0000000..580cd92 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass17.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass18.jpg b/pease-portfolio/public/images/weather/satpass18.jpg new file mode 100644 index 0000000..1944809 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass18.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass19.jpg b/pease-portfolio/public/images/weather/satpass19.jpg new file mode 100644 index 0000000..32e5bc2 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass19.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass20.jpg b/pease-portfolio/public/images/weather/satpass20.jpg new file mode 100644 index 0000000..99e83ac Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass20.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass21.jpg b/pease-portfolio/public/images/weather/satpass21.jpg new file mode 100644 index 0000000..6568844 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass21.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass22.jpg b/pease-portfolio/public/images/weather/satpass22.jpg new file mode 100644 index 0000000..1dab1b1 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass22.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass27(resampled).jpg b/pease-portfolio/public/images/weather/satpass27(resampled).jpg new file mode 100644 index 0000000..4c1ded9 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass27(resampled).jpg differ diff --git a/pease-portfolio/public/images/weather/satpass27.jpg b/pease-portfolio/public/images/weather/satpass27.jpg new file mode 100644 index 0000000..4c1ded9 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass27.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass3.jpg b/pease-portfolio/public/images/weather/satpass3.jpg new file mode 100644 index 0000000..06accdc Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass3.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass30.jpg b/pease-portfolio/public/images/weather/satpass30.jpg new file mode 100644 index 0000000..5f74ec1 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass30.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass31.jpg b/pease-portfolio/public/images/weather/satpass31.jpg new file mode 100644 index 0000000..70c0009 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass31.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass4.jpg b/pease-portfolio/public/images/weather/satpass4.jpg new file mode 100644 index 0000000..3cdab10 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass4.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass5.jpg b/pease-portfolio/public/images/weather/satpass5.jpg new file mode 100644 index 0000000..e659771 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass5.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass6.jpg b/pease-portfolio/public/images/weather/satpass6.jpg new file mode 100644 index 0000000..01068b7 Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass6.jpg differ diff --git a/pease-portfolio/public/images/weather/satpass7.jpg b/pease-portfolio/public/images/weather/satpass7.jpg new file mode 100644 index 0000000..02b8c2e Binary files /dev/null and b/pease-portfolio/public/images/weather/satpass7.jpg differ diff --git a/pease-portfolio/src/app/about-me/page.js b/pease-portfolio/src/app/about-me/page.js new file mode 100644 index 0000000..81e3daa --- /dev/null +++ b/pease-portfolio/src/app/about-me/page.js @@ -0,0 +1,8 @@ +export default function Page(){ + + return ( +
+ About Me +
+ ) +} \ No newline at end of file diff --git a/pease-portfolio/src/app/page.js b/pease-portfolio/src/app/page.js index edc265c..1a7ad04 100644 --- a/pease-portfolio/src/app/page.js +++ b/pease-portfolio/src/app/page.js @@ -84,5 +84,4 @@ function Home() { ); } - export default Home; \ No newline at end of file diff --git a/pease-portfolio/src/app/projects.json b/pease-portfolio/src/app/projects.json index 929ad92..acb2d30 100644 --- a/pease-portfolio/src/app/projects.json +++ b/pease-portfolio/src/app/projects.json @@ -39,6 +39,16 @@ "hasGithub": false, "hasCustomPage": "aubuchon" }, + "Weather Satellite Imagery": { + "description": "The Weather Satellite Imagery project is a project where I constructed and tested various antennas and software to receive and decode weather satellite imagery from NOAA and Meteor satellites. Various results from these transmissions are availiable online at this website!", + "isPublic": true, + "hasGitea": false, + "hasGithub": true, + "hasCustomPage": "weatherimg", + "github_user": "LAX18", + "github_repo": "Satellite-Imagery-Uploads", + "img": "satimg.jpg" + }, "Personal Portfolio": { "description": "My personal portfolio is my first React and next.js project that also serves to showcase my personal projects and other career development accomplishments. This is hosted on my personal server and stands as a lesson in both web development as well as backend design.", "gitea_user": "npease", @@ -48,13 +58,13 @@ "hasGithub": false, "hasCustomPage": false }, - "Weather Satellite Imagery": { - "description": "The Weather Satellite Imagery project is a project where I constructed and tested various antennas and software to receive and decode weather satellite imagery from NOAA and Meteor satellites. Various results from these transmissions are availiable online at this website!", - "isPublic": true, + "Calculator Programming": { + "description": "My first introduction to programming was by way of the Texas Instruments series of calculators. These taught me fundamentals in programming with languages such as TI-BASIC, ICE, and Assembly.", + "gitea_user": "npease", + "gitea_repo": "ti", + "isPublic": false, "hasGitea": false, - "hasGithub": true, - "hasCustomPage": false, - "github_user": "LAX18", - "github_repo": "Satellite-Imagery-Uploads" + "hasGithub": false, + "hasCustomPage": false } } \ No newline at end of file diff --git a/pease-portfolio/src/app/projects/custom/weatherimg/page.js b/pease-portfolio/src/app/projects/custom/weatherimg/page.js new file mode 100644 index 0000000..6f3f17f --- /dev/null +++ b/pease-portfolio/src/app/projects/custom/weatherimg/page.js @@ -0,0 +1,224 @@ +"use client" +import { Gallery, Item } from 'react-photoswipe-gallery' +import 'photoswipe/dist/photoswipe.css' + + +export default function Page() { + var NOAAComposite = [ + { + src: "/images/weather/composite-1.png", + width: 4731, + height: 1813, + }, + { + src: "/images/weather/composite-2.png", + width: 2226, + height: 1585, + }, + ] + var NOAAImages = [ + { + src: "/images/weather/satpass3.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass4.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass5.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass6.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass7.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass10.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass11.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass13.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass14.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass15.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass16.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass17.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass18.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass19.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass20.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass21.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass22.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass27.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass30.jpg", + width: 1040, + height: 1619, + }, + { + src: "/images/weather/satpass31.jpg", + width: 1040, + height: 1619, + }, + ] + var MeteorImages = [ + { + src: "/images/weather/meteor1.jpg", + width: 2695, + height: 2632, + }, + { + src: "/images/weather/meteor2.jpg", + width: 2695, + height: 3848, + }, + { + src: "/images/weather/meteor3.jpg", + width: 2896, + height: 4048, + }, + { + src: "/images/weather/meteor4.jpg", + width: 2896, + height: 4048, + }, + { + src: "/images/weather/meteor6.jpg", + width: 2896, + height: 4048, + }, + { + src: "/images/weather/meteor7.jpg", + width: 2896, + height: 4048, + }, + { + src: "/images/weather/meteor8.jpg", + width: 2896, + height: 4048, + }, + { + src: "/images/weather/meteor9.jpg", + width: 2896, + height: 4048, + }, + { + src: "/images/weather/meteor10.jpg", + width: 2896, + height: 4048, + }, + { + src: "/images/weather/meteor11.bmp", + width: 2896, + height: 4048, + },] + + const smallItemStyles = { + cursor: 'pointer', + objectFit: 'cover', + } + + return ( +
+
+ Weather Satellite Imagery Capture and Processing
+ During March to May of 2020, I spent extensive time learning to receive and process various types of VHF satellite imagery provided by a handful of government satellites. Primarily, imagery can be download via two series of satellites, NOAA and Roscosmos "Meteor" satellites. Both transmit in the VHF frequency band, with NOAA transmitting via automated picture transmission (APT) format, and Meteor transmitting via low-resolution picture transmission (LRPT) format. The images are received via a VHF antenna, and decoded using a software-defined radio (SDR) and a decoding software. The images are then processed using a variety of software tools to enhance the image quality and remove noise. The images are then composited together to create a full image of the Earth. The images are then used to monitor weather patterns and storm systems. +
+ +
American "NOAA" Weather Satellite Images
+
+ {NOAAImages.map((image) => { + return ( + + {({ ref, open }) => ( + + )} + + ) + })} +
+
American "NOAA" Weather Satellite Images - Composites
+
+ {NOAAComposite.map((image) => { + return ( + + {({ ref, open }) => ( + + )} + + ) + })} +
+
Russian "Meteor" Weather Satellite Images
+
+ {MeteorImages.map((image) => { + return ( + + {({ ref, open }) => ( + + )} + + ) + })} +
+
+
+ ) +} \ No newline at end of file diff --git a/pease-portfolio/src/app/projects/page.js b/pease-portfolio/src/app/projects/page.js index f350694..2143da4 100644 --- a/pease-portfolio/src/app/projects/page.js +++ b/pease-portfolio/src/app/projects/page.js @@ -1,6 +1,7 @@ import Image from "next/image" import ProjectsListJSON from "../projects.json" + function ProjectHeader() { return (
@@ -21,14 +22,14 @@ function ProjectsList() { function Project({name, description, imgURL}) { if (imgURL) { return ( -
-
-
-
+
+
+
+
-
+
{name}
{description}
@@ -39,11 +40,11 @@ function Project({name, description, imgURL}) { ); } else { return ( -
-
-
-
-
+
+
+
+
+
{name}
{description}
@@ -59,7 +60,9 @@ function Projects() { return (
- +
+ +
); }