Modified projects and experience containers to get data from json and

iterively render the data
This commit is contained in:
mitchelljfs 2018-07-27 03:11:26 -07:00
parent 7653a90ff9
commit 37ad46dc4a
4 changed files with 146 additions and 140 deletions

View File

@ -1,67 +1,26 @@
// @flow
import React from "react"
import * as React from "react"
import "./index.css"
import Job from "../../components/Job"
import jobs from "../../data/jobs.json"
type Props = {}
class Experience extends React.PureComponent<Props> {
render() {
return (
<div className="experience-container">
<Job
title="Lead Backend Engineer"
company="Hypremium."
timeSpan="May 2018 - Present"
bullets={[
"Architect all new backend microservices using Serverless, AWS API Gateway/Lambda/more, and Golang.",
"Lead backend development team in an Agile (scrumban) environment.",
"Monitor and maintain all stages of hosted microservices."
]}
/>
<Job
title="DevOps Engineer"
company="Hypremium."
timeSpan="January 2018 - May 2018, 5 Months"
bullets={[
"Maintain & migrate Ruby on Rails API and backend application.",
"Oversee and assist with continuous integration for backend development."
]}
/>
<Job
title="Sales Associate"
company="J. Crew"
timeSpan="October 2015 - January 2017, 1 Year 5 Months"
bullets={[
"Knowing the products and what products best suit the customers' needs.",
"Helping the customer with any manner of purchase, exchange, or return."
]}
/>
<Job
title="Intern"
company="Zumasys"
timeSpan="June 2015 - August 2015, 3 Months"
bullets={[
"Main goal was to learn as much about the business and their technology as possible.",
"Management and organization of customer correspondence.",
"Auditing of server space.",
"Dispatching and filtering ticketing system and office computer assistance."
]}
/>
<Job
title="User Support Technician"
company="Point Loma Nazarene University, ITS Department"
timeSpan="January 2015 - May 2015, 5 Months"
bullets={[
"First in contact for email hotline, second in contact for phones.",
"Work with customers via email, phone, remote control, and in person.",
"Computer diagnosis, repair, and preparation for customer.",
"Special projects."
]}
/>
</div>
)
let jobComponents = jobs.map(job => (
<Job
key={job.timeSpan}
title={job.title}
company={job.company}
timeSpan={job.timeSpan}
bullets={job.bullets}
/>
))
return <div className="experience-container">{jobComponents}</div>
}
}

View File

@ -5,96 +5,24 @@ import Project from "../../components/Project"
import "./index.css"
import projects from "../../data/projects.json"
type Props = {}
class Projects extends React.PureComponent<Props> {
render() {
return (
<div className="projects-container">
<Project
title="mjfs.us"
repoUrl="https://github.com/mitchelljfs/mjfs.us"
badges={[
{
imgUrl:
"https://travis-ci.org/mitchelljfs/mjfs.us.svg?branch=master",
linkUrl: "https://travis-ci.org/mitchelljfs/mjfs.us",
alt: "Build Status"
},
{
imgUrl:
"https://api.codeclimate.com/v1/badges/dc70437f1490980d8e8e/maintainability",
linkUrl:
"https://codeclimate.com/github/mitchelljfs/mjfs.us/maintainability",
alt: "Maintainability"
}
]}
>
My personal site has taken the form of a plain HTML site and a Ruby
app, but it currently takes the form of a React.js app. It was
developed using Eslint, Prettier and Flow. It is hosted in multiple
locations around the world, using AWS S3 and Cloudfront. It is also
continously deployed using Travis CI.
</Project>
let projectComponents = projects.map(project => (
<Project
key={project.title}
title={project.title}
repoUrl={project.repoUrl}
badges={project.badges}
>
{project.description}
</Project>
))
<Project
title="lambdarouter"
repoUrl="https://github.com/mitchelljfs/lambdarouter"
badges={[
{
imgUrl:
"https://travis-ci.org/mitchelljfs/lambdarouter.svg?branch=master",
linkUrl: "https://travis-ci.org/mitchelljfs/lambdarouter",
alt: "Build Status"
},
{
imgUrl:
"https://api.codeclimate.com/v1/badges/7270c6c4017b36d07360/test_coverage",
linkUrl:
"https://codeclimate.com/github/mitchelljfs/lambdarouter/test_coverage",
alt: "Code Coverage"
},
{
imgUrl:
"https://api.codeclimate.com/v1/badges/7270c6c4017b36d07360/maintainability",
linkUrl:
"https://codeclimate.com/github/mitchelljfs/lambdarouter/maintainability",
alt: "Maintainability"
}
]}
>
This package will become a fully featured AWS Lambda function router,
able to respond to HTTP, Schedule, Cognito, and SNS events. It will
also support middleware interfacing. So far it includes functionality
for API Gateway. Check out the GoDoc Reference to see how to
instantiate a router and create endpoints.
</Project>
<Project
title="destinate"
repoUrl="https://github.com/mitchelljfs/destinate"
badges={[]}
>
destinate is a react-native, iOS (and Android) app. Its main objective
is to suggest places or activities to the user based on their past
choices. It utilizes a serverless backend, written in Go and hosted on
AWS API Gateway/Lambda. It is still under development, as a side
project of Arash Lari and I.
</Project>
<Project
title="sys-mgmt"
repoUrl="https://github.com/mitchelljfs/sys-mgmt"
badges={[]}
>
A minimal, cross-platform, unix-like-system management program. This
program is designed to detect which programs are affiliated with the
unix-like system, whether it be Debian or macOS. There are various
shortcuts to common unix-like commands, such as update and upgrade
(for package managers), another is poweroff or reboot.
</Project>
</div>
)
return <div className="projects-container">{projectComponents}</div>
}
}

52
src/data/jobs.json Normal file
View File

@ -0,0 +1,52 @@
[
{
"title": "Lead Backend Engineer",
"company": "Hypremium.",
"timeSpan": "May 2018 - Present",
"bullets": [
"Architect all new backend microservices using Serverless, AWS API Gateway/Lambda/more, and Golang.",
"Lead backend development team in an Agile (scrumban) environment.",
"Monitor and maintain all stages of hosted microservices."
]
},
{
"title": "DevOps Engineer",
"company": "Hypremium.",
"timeSpan": "January 2018 - May 2018, 5 Months",
"bullets": [
"Maintain & migrate Ruby on Rails API and backend application.",
"Oversee and assist with continuous integration for backend development."
]
},
{
"title": "Sales Associate",
"company": "J. Crew",
"timeSpan": "October 2015 - January 2017, 1 Year 5 Months",
"bullets": [
"Knowing the products and what products best suit the customers' needs.",
"Helping the customer with any manner of purchase, exchange, or return."
]
},
{
"title": "Intern",
"company": "Zumasys",
"timeSpan": "June 2015 - August 2015, 3 Months",
"bullets": [
"Main goal was to learn as much about the business and their technology as possible.",
"Management and organization of customer correspondence.",
"Auditing of server space.",
"Dispatching and filtering ticketing system and office computer assistance."
]
},
{
"title": "User Support Technician",
"company": "Point Loma Nazarene University, ITS Department",
"timeSpan": "January 2015 - May 2015, 5 Months",
"bullets": [
"First in contact for email hotline, second in contact for phones.",
"Work with customers via email, phone, remote control, and in person.",
"Computer diagnosis, repair, and preparation for customer.",
"Special projects."
]
}
]

67
src/data/projects.json Normal file
View File

@ -0,0 +1,67 @@
[
{
"title": "mjfs.us",
"repoUrl": "https://github.com/mitchelljfs/mjfs.us",
"badges": [
{
"imgUrl": "https://travis-ci.org/mitchelljfs/mjfs.us.svg?branch=master",
"linkUrl": "https://travis-ci.org/mitchelljfs/mjfs.us",
"alt": "Build Status"
},
{
"imgUrl":
"https://api.codeclimate.com/v1/badges/dc70437f1490980d8e8e/maintainability",
"linkUrl":
"https://codeclimate.com/github/mitchelljfs/mjfs.us/maintainability",
"alt": "Maintainability"
}
],
"description":
"My personal site has taken the form of a plain HTML site and a Ruby app, but it currently takes the form of a React.js app. It was developed using Eslint, Prettier and Flow. It is hosted in multiple locations around the world, using AWS S3 and Cloudfront. It is also continously deployed using Travis CI."
},
{
"title": "lambdarouter",
"repoUrl": "https://github.com/mitchelljfs/lambdarouter",
"badges": [
{
"imgUrl":
"https://travis-ci.org/mitchelljfs/lambdarouter.svg?branch=master",
"linkUrl": "https://travis-ci.org/mitchelljfs/lambdarouter",
"alt": "Build Status"
},
{
"imgUrl":
"https://api.codeclimate.com/v1/badges/7270c6c4017b36d07360/test_coverage",
"linkUrl":
"https://codeclimate.com/github/mitchelljfs/lambdarouter/test_coverage",
"alt": "Code Coverage"
},
{
"imgUrl":
"https://api.codeclimate.com/v1/badges/7270c6c4017b36d07360/maintainability",
"linkUrl":
"https://codeclimate.com/github/mitchelljfs/lambdarouter/maintainability",
"alt": "Maintainability"
}
],
"description":
"This package will become a fully featured AWS Lambda function router, able to respond to HTTP, Schedule, Cognito, and SNS events. It will also support middleware interfacing. So far it includes functionality for API Gateway. Check out the GoDoc Reference to see how to instantiate a router and create endpoints."
},
{
"title": "destinate",
"repoUrl": "https://github.com/mitchelljfs/destinate",
"badges": [],
"description":
"destinate is a react-native, iOS (and Android) app. Its main objective is to suggest places or activities to the user based on their past choices. It utilizes a serverless backend, written in Go and hosted on AWS API Gateway/Lambda. It is still under development, as a side project of Arash Lari and I."
},
{
"title": "sys-mgmt",
"repoUrl": "https://github.com/mitchelljfs/sys-mgmt",
"badges": [],
"description":
"A minimal, cross-platform, unix-like-system management program. This program is designed to detect which programs are affiliated with the unix-like system, whether it be Debian or macOS. There are various shortcuts to common unix-like commands, such as update and upgrade (for package managers), another is poweroff or reboot."
}
]