From 7d3c264b300673fe340a56b49baf30340f253ec9 Mon Sep 17 00:00:00 2001 From: dunemask Date: Mon, 25 Sep 2023 20:49:09 +0000 Subject: [PATCH] [FEATURE] Add Resume, Contact, Routing Fix, and About sections (#9) Co-authored-by: dunemask Co-authored-by: Dunemask Reviewed-on: https://gitea.dunemask.net/elysium/nile/pulls/9 --- nginx/nginx.conf | 2 +- public/resume/About.jpeg | Bin 0 -> 79091 bytes src/Navbar.jsx | 6 +- src/Routing.jsx | 13 +- src/components/ExperienceDisplay.jsx | 18 +++ src/components/PageNav.jsx | 3 + src/css/experience-display.css | 9 ++ src/hooks.jsx | 6 +- src/pages/delta/About.jsx | 143 +++++++++++++++--- src/pages/delta/Contact.jsx | 106 ++++++++++++- src/pages/delta/Delta.jsx | 18 ++- src/pages/delta/Education.jsx | 67 ++++++++ src/pages/delta/Experience.jsx | 74 +++++++++ src/pages/delta/Header.jsx | 29 ++++ .../{references => resume}/ContactCard.jsx | 0 .../{references => resume}/References.jsx | 56 ++++--- src/pages/resume/Resume.jsx | 14 ++ 17 files changed, 500 insertions(+), 64 deletions(-) create mode 100644 public/resume/About.jpeg create mode 100644 src/components/ExperienceDisplay.jsx create mode 100644 src/components/PageNav.jsx create mode 100644 src/css/experience-display.css create mode 100644 src/pages/delta/Education.jsx create mode 100644 src/pages/delta/Experience.jsx create mode 100644 src/pages/delta/Header.jsx rename src/pages/{references => resume}/ContactCard.jsx (100%) rename src/pages/{references => resume}/References.jsx (61%) create mode 100644 src/pages/resume/Resume.jsx diff --git a/nginx/nginx.conf b/nginx/nginx.conf index a443c92..1fc37e7 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -26,7 +26,7 @@ keepalive_timeout 65; location / { root /usr/share/nginx/html; index index.html index.htm; - try_files $uri $uri/ /index.html; + try_files $uri /index.html; } location ~ ^/$ { diff --git a/public/resume/About.jpeg b/public/resume/About.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5751437a147a332ec66f6c8191e7d68b6e7e25b0 GIT binary patch literal 79091 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 literal 0 HcmV?d00001 diff --git a/src/Navbar.jsx b/src/Navbar.jsx index 3b070fb..fc5b142 100644 --- a/src/Navbar.jsx +++ b/src/Navbar.jsx @@ -17,10 +17,12 @@ import { useTheme } from "@mui/material/styles"; import MenuIcon from "@mui/icons-material/Menu"; const links = [ + // { url: "/", title: "Home" }, { url: "/#portfolio", title: "Portfolio" }, - { url: "/#achievements", title: "Achivements" }, + // { url: "/#achievements", title: "Achievements" }, + { url: "/#about", title: "About" }, { url: "/#contact", title: "Contact" }, - //{ url: "/references", title: "References" }, + // { url: "/resume", title: "Resume" }, ]; export default function Navbar() { diff --git a/src/Routing.jsx b/src/Routing.jsx index 19725ed..f212955 100644 --- a/src/Routing.jsx +++ b/src/Routing.jsx @@ -1,8 +1,14 @@ import { Routes, Route, Navigate } from "react-router-dom"; import Toolbar from "@mui/material/Toolbar"; import Delta from "./pages/delta/Delta.jsx"; -import References from "./pages/references/References.jsx"; +import Resume from "./pages/resume/Resume.jsx"; import { useScrollToLocation } from "./hooks.jsx"; + +const redirects = [ + { path: "/r1", rewrite: "/resume" }, + { path: "/r2", rewrite: "/resume" }, + { path: "/r3", rewrite: "/resume" }, +]; export default function Routing() { useScrollToLocation(); return ( @@ -10,7 +16,10 @@ export default function Routing() { } /> - {/*} />*/} + {/* } /> */} + {redirects.map((r, i) => ( + } /> + ))} } /> } /> diff --git a/src/components/ExperienceDisplay.jsx b/src/components/ExperienceDisplay.jsx new file mode 100644 index 0000000..0b4df1d --- /dev/null +++ b/src/components/ExperienceDisplay.jsx @@ -0,0 +1,18 @@ +import Box from "@mui/material/Box"; +import Typography from "@mui/material/Typography"; +import "@css/experience-display.css"; +export default function ExperienceDisplay(props) { + const { title, subtitle, children } = props; + return ( + + {title} + + {subtitle} + + {children} + + ); +} diff --git a/src/components/PageNav.jsx b/src/components/PageNav.jsx new file mode 100644 index 0000000..53279ff --- /dev/null +++ b/src/components/PageNav.jsx @@ -0,0 +1,3 @@ +export default function PageNav(props) { + const { links } = props; +} diff --git a/src/css/experience-display.css b/src/css/experience-display.css new file mode 100644 index 0000000..4b812bc --- /dev/null +++ b/src/css/experience-display.css @@ -0,0 +1,9 @@ +.experience-display::before { + content: ""; + position: absolute; + padding: 6px; + border: 2px solid #f3ac20; + border-radius: 50%; + margin-left: -28px; + margin-top: -16px; +} diff --git a/src/hooks.jsx b/src/hooks.jsx index ec39ce1..1a229a7 100644 --- a/src/hooks.jsx +++ b/src/hooks.jsx @@ -19,7 +19,11 @@ export function useScrollToLocation() { const id = hash.replace("#", ""); const element = document.getElementById(id); if (!element) return; - element.scrollIntoView({ behavior: "smooth", block: "start" }); + element.scrollIntoView({ + behavior: "smooth", + block: "start", + inline: "nearest", + }); scrolledRef.current = true; }); } diff --git a/src/pages/delta/About.jsx b/src/pages/delta/About.jsx index 98abc2b..edc22df 100644 --- a/src/pages/delta/About.jsx +++ b/src/pages/delta/About.jsx @@ -1,28 +1,135 @@ import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; +import useMediaQuery from "@mui/material/useMediaQuery"; +import { useTheme } from "@mui/material/styles"; -export default function Projects() { +const dob = new Date(2002, 4, 3); +const age = Math.abs( + new Date(Date.now() - dob.getTime()).getUTCFullYear() - 1970, +); + +function AboutContact(props) { + const { title, info } = props; + return ( + + {`${title}:`} + + {info} + + + ); +} + +export default function About() { + const theme = useTheme(); + const fullSizePhoto = useMediaQuery(theme.breakpoints.down("md")); return ( - - - React Fullstack Software Engineer - - - Specializing in DevOps tools and code reliability. If you're a - business seeking to improve developer velocity or are looking to hire, - contact me{" "} - +
+ + About + +
+ + {!fullSizePhoto && ( + + )} + {fullSizePhoto && ( + + )} + - here -
- + + React Fullstack Software Engineer + + + Hello! I'm Elijah Parker, a fullstack software engineer from Utah. + I have a passion for developing software that achieves "the + impossible". I have experience using a wide variety of + technologies including React, Python, Java, and Kubernetes. I'm + currently seeking an entry-level part time position or internship + with flexible hours to accommodate pursuit of a bachelorette + degree. + + + + + elijahglennparker@outlook.com + + } + /> + + + + + + + + + Additionally, I have worked with a wide range of tools and + frameworks including Git, PostgreSQL, MongoDB, Docker, Kubernetes, + Garden, JavaFX, MaterialUI, Spring Boot, Express, Gitlab, Gitea + CI/CD. + + + ); diff --git a/src/pages/delta/Contact.jsx b/src/pages/delta/Contact.jsx index 0b5ad14..1c5d865 100644 --- a/src/pages/delta/Contact.jsx +++ b/src/pages/delta/Contact.jsx @@ -1,12 +1,39 @@ +import { useState } from "react"; +import { Link } from "react-router-dom"; import Box from "@mui/material/Box"; +import Button from "@mui/material/Button"; import Typography from "@mui/material/Typography"; import TextField from "@mui/material/TextField"; import MailIcon from "@mui/icons-material/Mail"; import LocationOnIcon from "@mui/icons-material/LocationOn"; import PhoneIphoneIcon from "@mui/icons-material/PhoneIphone"; import ContactStrip from "./ContactStrip.jsx"; +import useMediaQuery from "@mui/material/useMediaQuery"; +import { useTheme, styled } from "@mui/material/styles"; import "@css/contact.css"; + +const ContactMessageButton = styled(Button)({ + backgroundColor: "white", + color: "#F3AC20", + borderColor: "#F3AC20", + + "&:hover": { + backgroundColor: "#F3AC20", + color: "white", + borderColor: "#F3AC20", + }, +}); + export default function Contact() { + const theme = useTheme(); + const minifyContact = useMediaQuery(theme.breakpoints.down("md")); + const [contactName, setContactName] = useState(); + const [contactEmail, setContactEmail] = useState(); + const [contactSubject, setContactSubject] = useState(); + const [contactBody, setContactBody] = useState(); + + const fillForm = (form) => (e) => form(e.target.value); + return ( */} - {/* - - - - - */} + + + + + + + + + Send Message + + diff --git a/src/pages/delta/Delta.jsx b/src/pages/delta/Delta.jsx index 7b8b250..fdbc833 100644 --- a/src/pages/delta/Delta.jsx +++ b/src/pages/delta/Delta.jsx @@ -1,23 +1,33 @@ import React, { Suspense } from "react"; -import About from "./About.jsx"; +import Box from "@mui/material/Box"; +import Header from "./Header.jsx"; import Projects from "./Projects.jsx"; +import Contact from "./Contact.jsx"; //import Environments from "./Environments.jsx"; import ContentWrapper from "@components/ContentWrapper.jsx"; const Skills = React.lazy(() => import("./Skills.jsx")); const Social = React.lazy(() => import("./Social.jsx")); -const Contact = React.lazy(() => import("./Contact.jsx")); +const Education = React.lazy(() => import("./Education.jsx")); +const Experience = React.lazy(() => import("./Experience.jsx")); +const About = React.lazy(() => import("./About.jsx")); export default function Delta() { return ( - +
+ + + + + + - + ); } diff --git a/src/pages/delta/Education.jsx b/src/pages/delta/Education.jsx new file mode 100644 index 0000000..0ec5134 --- /dev/null +++ b/src/pages/delta/Education.jsx @@ -0,0 +1,67 @@ +import Box from "@mui/material/Box"; +import Typography from "@mui/material/Typography"; +import ExperienceDisplay from "@components/ExperienceDisplay.jsx"; + +export default function Education() { + return ( + + + Education + + + + + Pursuing B.S. in Computer Science: Software Engineering program, + completed 7 credits. Anticipated graduation December 2027 + + + + + Certificate of Competency in advanced Python, database foundations, + system analysis, UML, and advanced web development using HTML, + JavaScript, React, XML, and JSON + + + + + GPA 3.9, CS Department Choice Award, Co-founder and President + Computer Science Club, 4 years programming, student tutor, AP + courses in Computer Science, Calculus, Mechanics, and Government + + + + + 2nd Place state networking security challenge, curriculum included + Ubuntu security policies and PAM, networking, init systems, advanced + command line, processes, and scheduled tasks + + + + + ); +} diff --git a/src/pages/delta/Experience.jsx b/src/pages/delta/Experience.jsx new file mode 100644 index 0000000..ec61a39 --- /dev/null +++ b/src/pages/delta/Experience.jsx @@ -0,0 +1,74 @@ +import Box from "@mui/material/Box"; +import Typography from "@mui/material/Typography"; +import ExperienceDisplay from "@components/ExperienceDisplay.jsx"; + +export default function Experience() { + return ( + + + Experience + + + + + Technologies used:{" "} + + React, Python, Java, RabbitMQ + + +
    +
  • + + Developed automated end to end UI & API tests and automated + collection of test coverage + +
  • +
  • + + Modularized API testing resources as project lead + +
  • +
  • + + Automated scripting framework to gauge product reliability as + project lead + +
  • +
  • + + Improved performance of core QA services by 20% + +
  • +
  • + + Created fullstack application using React and Express to manage + QA data as solo developer + +
  • +
+
+
+
+ ); +} diff --git a/src/pages/delta/Header.jsx b/src/pages/delta/Header.jsx new file mode 100644 index 0000000..c8ad14e --- /dev/null +++ b/src/pages/delta/Header.jsx @@ -0,0 +1,29 @@ +import Box from "@mui/material/Box"; +import Typography from "@mui/material/Typography"; + +export default function Header() { + return ( + + + + React Fullstack Software Engineer + + + Specializing in DevOps tools and code reliability. If you're a + business seeking to improve developer velocity or are looking to hire, + contact me{" "} + + here + + + + + ); +} diff --git a/src/pages/references/ContactCard.jsx b/src/pages/resume/ContactCard.jsx similarity index 100% rename from src/pages/references/ContactCard.jsx rename to src/pages/resume/ContactCard.jsx diff --git a/src/pages/references/References.jsx b/src/pages/resume/References.jsx similarity index 61% rename from src/pages/references/References.jsx rename to src/pages/resume/References.jsx index 54d09a5..ab73fd2 100644 --- a/src/pages/references/References.jsx +++ b/src/pages/resume/References.jsx @@ -1,7 +1,6 @@ import React from "react"; import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; -import ContentWrapper from "../../components/ContentWrapper"; import ContactCard from "./ContactCard.jsx"; const people = [ @@ -36,35 +35,32 @@ const people = [ export default function References() { return ( - - - - - - References{" "} - {" "} - - - {people.map((p, i) => ( - - ))} - - - + +
+ + References + +
+ + + {people.map((p, i) => ( + + ))} +
); } diff --git a/src/pages/resume/Resume.jsx b/src/pages/resume/Resume.jsx new file mode 100644 index 0000000..072b3f3 --- /dev/null +++ b/src/pages/resume/Resume.jsx @@ -0,0 +1,14 @@ +import React from "react"; +import Box from "@mui/material/Box"; +import ContentWrapper from "../../components/ContentWrapper"; +import References from "./References.jsx"; + +export default function Resume() { + return ( + + + + + + ); +}