From d979318632d51b6b9969ec8cd92ec91b2189a0e4 Mon Sep 17 00:00:00 2001 From: Mikayla Dobson <93477693+innocuous-symmetry@users.noreply.github.com> Date: Tue, 10 Jan 2023 13:05:59 -0600 Subject: [PATCH] new content, maintenance on project browser --- src/components/AboutMe/SectionData.jsx | 21 ++++----- src/components/ProjectsArray.jsx | 59 +++++++++++++------------ src/components/Technologies/techList.js | 17 +++++-- src/pages/Links.jsx | 2 +- src/pages/Projects.jsx | 39 ++++++++++------ src/sass/pages/Links.scss | 9 ++++ 6 files changed, 88 insertions(+), 59 deletions(-) diff --git a/src/components/AboutMe/SectionData.jsx b/src/components/AboutMe/SectionData.jsx index bde7473..697029b 100644 --- a/src/components/AboutMe/SectionData.jsx +++ b/src/components/AboutMe/SectionData.jsx @@ -13,9 +13,14 @@ export const WhatIDo = { -

Web Design Consulting

-

I consult on small teams at Metazu Studio, a Nashville-based startup connecting clients with services in video production, AR/VR, social media, photography, and web design.

-

I have worked on projects focused on full stack web engineering, real time communications, and designing beautiful user experiences.

+

Collaborative software engineering

+

I have consulted on small teams with:

+
+

Dization, a Pittsburgh-based company developing an enterprise resource planning solution for small businesses

+

Metazu Studio, a Nashville-based startup connecting clients with services in video production, AR/VR, social media, photography, and web design.

+
+ +

My work on these projects deals with managing the complexities of full-stack web engineering, as well as delivering beautiful user experiences to end customers.

@@ -59,7 +64,7 @@ export const Education = { } const MetazuConcepts = [ - "UI/UX design", "Pair Programming", "REST APIs", "Database management", "Consulting with Clients" + "Enterprise Resource Planning", "UI/UX design", "Pair Programming", "REST APIs", "Database management", "Consulting with Clients" ] const MusicExperiences = [ @@ -105,12 +110,4 @@ export const Employment = { ) -} - -export const Community = { - title: "Community", - jsx: ( - <> - - ) } \ No newline at end of file diff --git a/src/components/ProjectsArray.jsx b/src/components/ProjectsArray.jsx index fd15945..cd7caeb 100644 --- a/src/components/ProjectsArray.jsx +++ b/src/components/ProjectsArray.jsx @@ -3,16 +3,16 @@ import { v4 } from 'uuid'; export const projectsArray = [ { - name: "Mikayla's E-Commerce Store", + name: "Express Spice Shop", languages: ["TypeScript", "React", "PERN", "REST_API"], inProgress: true, jsx: ( -

Mikayla's E-Commerce Store

-

A fully-featured e-commerce platform

+

Express Spice Shop

+

A sample, fully-featured e-commerce platform

Built in React with TypeScript, Node/Express, and PostgreSQL

-

Payment processing supported through Stripe

-

REST API fully documented in Swagger

+

Payment processing supported through Stripe (in progress)

+

API documentation with Swagger

IN PROGRESS

) @@ -24,7 +24,7 @@ export const projectsArray = [ deployed: true, jsx: ( -

Procedural Drones

+

Procedural Music Generation

An experimental space for building out procedural music generation using vanilla JavaScript

Uses Tone.js to interact with the Web Audio API

Features a plain HTML/CSS front end to interact with the program

@@ -68,19 +68,6 @@ export const projectsArray = [
) }, - { - name: "Musical Counterpoint Bot", - languages: ["HTML/CSS", "JavaScript"], - inProgress: true, - jsx: ( - -

Musical Counterpoint Bot

-

A web-based program with functionality to evaluate sample solutions of problems in - species-based counterpoint, as detailed by Johann Fux in Gradus ad Parnassum.

-

In progress. Using vanilla HTML/CSS/JS.

-
- ) - }, { name: "Password Game", languages: ["React", "MongoDB", "MERN", "React", "REST_API", "Socket.io", "Sass", "MaterialUI"], @@ -95,12 +82,12 @@ export const projectsArray = [ ) }, { - name: "Splinter", - languages: ["React", "PERN", "Socket.io"], + name: "Splendor Clone", + languages: ["React", "TypeScript"], inProgress: true, jsx: ( -

Splinter

+

Splendor -- a clone of the board game by Marc André

A clone of a popular card-based resource gathering game

Local multiplayer, with plans to build out online multiplayer and solo vs. CPU

In progress. Using React, Node/Express, and PostgreSQL.

@@ -108,15 +95,29 @@ export const projectsArray = [ ) }, { - name: "Carenest", - languages: ["React"], - inProgress: false, + name: "Recipin", + languages: ["React", "TypeScript", "PERN"], + inProgress: true, jsx: ( -

Carenest

-

Designed in collaboration with Faith Magras, Elvis Hernandez, and Daytreon Dean - as a submission for #HACKTN with Hackathons International in March 2022.

-

Produced using React. View the repo here!

+

Recipin -- a home recipe management solution

+

Manage a collection of your own commonly-used recipes

+

Features a full user-auth workflow and enables the sharing of recipes between users

+

Allows the user to build shopping lists from collections of their recipes

+

Built using full end-to-end TypeScript for the React front end and the Express server

+
+ ) + }, + { + name: "Photosorting with VGG16", + languages: ["Python", "TensorFlow", "PostgreSQL"], + inProgress: true, + jsx: ( + +

Photosorting with VGG16

+

A tool written in Python for sorting photos based on the output of VGG16, the pre-trained image recognition model included with TensorFlow.

+

The user may also integrate the results of their photo sort into a PostgreSQL database.

+

The repository may be found here!

) }, diff --git a/src/components/Technologies/techList.js b/src/components/Technologies/techList.js index 3fccc0d..04ae692 100644 --- a/src/components/Technologies/techList.js +++ b/src/components/Technologies/techList.js @@ -6,6 +6,8 @@ export const techList = [ topic: "JavaScript", subtopics: [ "TypeScript", + "React", + "Redux", "NodeJS", "Express", "ToneJS", @@ -17,14 +19,19 @@ export const techList = [ subtopics: [ "Pandas", "Beautiful Soup", + "TensorFlow, Keras", + "Flet" ] }, { - topic: "C#", - subtopics: [], + topic: "Java", + subtopics: [ + "Spring Boot", + "Swing" + ] }, { - topic: "Java", + topic: "PHP", subtopics: [] } ] @@ -61,6 +68,8 @@ export const techList = [ topic: "SQL", subtopics: [ "PostgreSQL", + "MySQL", + "Apache Web Server", "MongoDB", "Supabase" ] @@ -70,6 +79,8 @@ export const techList = [ subtopics: [ "Express.js", "Express-Session", + "PHP", + "Spring Boot", "API Documentation with Swagger", "MVC Architecture" ] diff --git a/src/pages/Links.jsx b/src/pages/Links.jsx index dc81872..701747d 100644 --- a/src/pages/Links.jsx +++ b/src/pages/Links.jsx @@ -6,7 +6,7 @@ import linkedin from "../media/LI-In-Bug.png"; export default function Links() { return (
-

Connect with me and get a closer look at my work!

+

Check out the links below to get a better look at my work!

diff --git a/src/pages/Projects.jsx b/src/pages/Projects.jsx index 0f93a1f..2a64150 100644 --- a/src/pages/Projects.jsx +++ b/src/pages/Projects.jsx @@ -39,6 +39,26 @@ export default function Projects() { }, [search]); useEffect(() => { + function unpack(element) { + if (typeof element == "string") return element; + + if (typeof element.props.children != "string") { + if (Array.isArray(element.props.children)) { + let composite = ""; + + for (let each of element.props.children) { + composite += unpack(each); + } + + return composite; + } + + return unpack(element.props.children); + } + + return element.props.children; + } + let projectText = []; let i = 0; while (i < projectsArray.length) { @@ -47,26 +67,17 @@ export default function Projects() { text: [] } + let newText; + for (let each of projectsArray[i].jsx.props.children) { - if (Array.isArray(each.props.children)) { - for (let nested of each.props.children) { - if (typeof nested === 'string') { - const newText = nested.toLowerCase(); - project.text.push(newText); - } else { - const newText = nested.props.children.toLowerCase(); - project.text.push(newText); - } - } - } else { - const newText = each.props.children.toLowerCase(); - project.text.push(newText); - } + newText = unpack(each); + project.text.push(newText); } projectText.push(project); i++; } + setText(projectText); }, []) diff --git a/src/sass/pages/Links.scss b/src/sass/pages/Links.scss index d2a347e..fac0643 100644 --- a/src/sass/pages/Links.scss +++ b/src/sass/pages/Links.scss @@ -1,12 +1,21 @@ @import "../helper/variables"; +@import "../helper/mixins"; .links-page { background-color: $lilac; justify-content: center; + padding-top: 5rem; + .links-container { display: flex; flex-flow: row wrap; + .MuiCard-root { + @include step-entry(2); + + opacity: 0; + transition: 0.5s transform ease; + display: inline-flex; flex-direction: column; align-items: center;