diff --git a/pease-portfolio/package-lock.json b/pease-portfolio/package-lock.json index f755904..d670761 100644 --- a/pease-portfolio/package-lock.json +++ b/pease-portfolio/package-lock.json @@ -16,7 +16,8 @@ "moment": "^2.30.1", "next": "14.1.0", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-youtube": "^10.1.0" }, "devDependencies": { "autoprefixer": "^10.0.1", @@ -2619,8 +2620,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -3708,6 +3708,11 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -4502,6 +4507,22 @@ "react-dom": ">=16.6.0" } }, + "node_modules/react-youtube": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-10.1.0.tgz", + "integrity": "sha512-ZfGtcVpk0SSZtWCSTYOQKhfx5/1cfyEW1JN/mugGNfAxT3rmVJeMbGpA9+e78yG21ls5nc/5uZJETE3cm3knBg==", + "dependencies": { + "fast-deep-equal": "3.1.3", + "prop-types": "15.8.1", + "youtube-player": "5.5.2" + }, + "engines": { + "node": ">= 14.x" + }, + "peerDependencies": { + "react": ">=0.14.1" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -4821,6 +4842,11 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sister": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sister/-/sister-3.0.2.tgz", + "integrity": "sha512-p19rtTs+NksBRKW9qn0UhZ8/TUI9BPw9lmtHny+Y3TinWlOa9jWh9xB0AtPSdmOy49NJJJSSe0Ey4C7h0TrcYA==" + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -5643,6 +5669,29 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/youtube-player": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/youtube-player/-/youtube-player-5.5.2.tgz", + "integrity": "sha512-ZGtsemSpXnDky2AUYWgxjaopgB+shFHgXVpiJFeNB5nWEugpW1KWYDaHKuLqh2b67r24GtP6HoSW5swvf0fFIQ==", + "dependencies": { + "debug": "^2.6.6", + "load-script": "^1.0.0", + "sister": "^3.0.0" + } + }, + "node_modules/youtube-player/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/youtube-player/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } } diff --git a/pease-portfolio/package.json b/pease-portfolio/package.json index 7e33a71..bd865c9 100644 --- a/pease-portfolio/package.json +++ b/pease-portfolio/package.json @@ -17,7 +17,8 @@ "moment": "^2.30.1", "next": "14.1.0", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-youtube": "^10.1.0" }, "homepage": "https://nicholaspease.com", "devDependencies": { diff --git a/pease-portfolio/public/project_files/aa/files/aa_flow.png b/pease-portfolio/public/project_files/aa/files/aa_flow.png new file mode 100644 index 0000000..8fbd4df Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/aa_flow.png differ diff --git a/pease-portfolio/public/project_files/aa/files/aa_manual.pdf b/pease-portfolio/public/project_files/aa/files/aa_manual.pdf new file mode 100644 index 0000000..41b1793 Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/aa_manual.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/comp-2.pdf b/pease-portfolio/public/project_files/aa/files/comp-2.pdf new file mode 100644 index 0000000..761b81a Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/comp-2.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/kelley-presentation.pdf b/pease-portfolio/public/project_files/aa/files/kelley-presentation.pdf new file mode 100644 index 0000000..f461c94 Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/kelley-presentation.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/science-fair-slides.pdf b/pease-portfolio/public/project_files/aa/files/science-fair-slides.pdf new file mode 100644 index 0000000..5560b31 Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/science-fair-slides.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/senior-project-slides.pdf b/pease-portfolio/public/project_files/aa/files/senior-project-slides.pdf new file mode 100644 index 0000000..280813b Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/senior-project-slides.pdf differ diff --git a/pease-portfolio/src/app/projects/custom/aa1/page.js b/pease-portfolio/src/app/projects/custom/aa1/page.js index 8cfb402..932164f 100644 --- a/pease-portfolio/src/app/projects/custom/aa1/page.js +++ b/pease-portfolio/src/app/projects/custom/aa1/page.js @@ -6,6 +6,54 @@ import { useState } from "react" import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'; import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos'; import { grey } from '@mui/material/colors' +import YouTube from 'react-youtube'; + +import { FileList } from "@/components/filelist" + +var fileList = [ + { + "name": "Aviation Assistant V1 - Kelley Presentation", + "type": "PDF", + "filename": "kelley-presentation.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Science Fair Presentation", + "type": "PDF", + "filename": "science-fair-slides.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Senior Project Slides", + "type": "PDF", + "filename": "senior-project-slides.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Maine State Science Fair - Computer Science Category Poster", + "type": "PDF", + "filename": "comp-2.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Technical Manual (Work in Progress)", + "type": "PDF", + "filename": "aa_manual.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Software Flow Diagram", + "type": "PNG", + "filename": "aa_flow.png", + "filetype": "PNG", + "path": "/project_files/aa/files" + } +] function ImageCarousel() { const [loaded, setLoaded] = useState(false) @@ -60,18 +108,6 @@ function ImageCarousel() { This is a front view of the device showcasing the touch screen and the antenna. -
-

- -

-
- {instanceRef.current?.prev()}}> - {instanceRef.current?.next()}}> -
-
- This is a side view of the device showcasing the power connection and button, in addition to the form factor of the device. -
-

@@ -101,8 +137,8 @@ function ImageCarousel() {

- {instanceRef.current?.prev()}}> - {instanceRef.current?.next()}}> + {instanceRef.current?.prev()}}> + {instanceRef.current?.next()}}>
Device design diagram. @@ -120,7 +156,18 @@ function ImageCarousel() { Device design diagram.
- +
+

+ +

+
+ {instanceRef.current?.prev()}}> + {instanceRef.current?.next()}}> +
+
+ Software Flow Diagram +
+
) @@ -129,32 +176,60 @@ function ImageCarousel() { export default function Home() { return (
-
-
- -
-
- - -
-
- 2021 Maine State Science Fair - Computer Science Category - 1st Place
-
- Link to Press Release - Mirror 1 (Local Archive) - Mirror 2 (Web Archive) +
+
+ +
+
+
+ +
+
+ + +
+
+ 2021 Maine State Science Fair - Computer Science Category - 1st Place
+
+ Link to Press Release + Mirror 1 (Local Archive) + Mirror 2 (Web Archive) +
+
+
+ The Aviation Assistant is a combination hardware / software solution to allow the user to track aircraft using the Automated Dependent Surveillance - Broadcast (ADS-B) system. + The device is a Raspberry Pi, coupled with a battery control board, speakers, and a USB SDR interface device. The software is a combination of a modified dump1090 +  software, extended with additional features, in addition to a series of device based APIs to facilitate control and information from the physical hardware to the software interface. The interface is presented to the user via the 7 inch touchscreen display in the form of + website. +
+
+
+
+ +
+
+ Project Videos +
+
+ + 2021 Maine State Science Fair - 2 Minute Summary
-
-
- The Aviation Assistant is a combination hardware / software solution to allow the user to track aircraft using the Automated Dependent Surveillance - Broadcast (ADS-B) system. - The device is a Raspberry Pi, coupled with a battery control board, speakers, and a USB SDR interface device. The software is a combination of a modified dump1090 - software, extended with additional features, in addition to a series of device based APIs to facilite control and information from the physical hardware to the software interface. The interface is presented to the user via the 7 inch touchscreen display in the form of - website. -
-
- -
-
+
+ + Secondary Case Printing Video +
+
+ + Field Test at Canaan Fire Tower +
+
+ +
+
+ +
+
+
) } \ No newline at end of file diff --git a/pease-portfolio/src/components/filelist.js b/pease-portfolio/src/components/filelist.js index bd73707..c3b5c64 100644 --- a/pease-portfolio/src/components/filelist.js +++ b/pease-portfolio/src/components/filelist.js @@ -2,7 +2,7 @@ export function FileList({file: filelist}) { function FileRow({file}) { return ( - {file.name} + {file.name} {file.type} ) @@ -15,7 +15,7 @@ export function FileList({file: filelist}) { return (
-

ChatMaps Files

+

Files