diff --git a/.gitignore b/.gitignore
index 8d0e55c..f2eb7d9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@
**/*.pdf
resume
**/*.tar
+deploy
+vendor
diff --git a/deploy.sh b/deploy.sh
new file mode 100644
index 0000000..51dfcd6
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,38 @@
+#! /bin/bash
+
+set -o pipefail
+set -e
+
+rm -rf ./deploy
+mkdir -p ./deploy/go-app/public
+cp ./resume.md-main/resume.html ./deploy/go-app/public/index.html
+cp ./resume.md-main/resume.css ./deploy/go-app/public/
+cp ./resume.md-main/resume.pdf ./deploy/go-app/public/
+(
+ printf "runtime: go114\n"
+ true || go version \
+ | grep -Eo '[0-9]+\.[0-9]+' \
+ | sed 's/[^0-9]//'
+) > ./deploy/go-app/app.yaml
+cp ./main.go ./deploy/go-app
+if [ ! -d ./vendor ]; then
+ govendor init
+ govendor add +external
+fi
+cp -r ./vendor ./deploy/go-app/vendor
+
+if ! which gcloud; then
+ # Add the Cloud SDK distribution URI as a package source
+ echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
+ #
+ # # Import the Google Cloud public key
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
+ #
+ # # Update the package list and install the Cloud SDK
+ sudo apt-get update && sudo apt-get install google-cloud-sdk
+ gcloud components install app-engine-go || sudo apt-get install -y google-cloud-sdk-app-engine-go
+fi
+
+pushd ./deploy/go-app
+gcloud app deploy
+popd
diff --git a/go-app/app.yaml b/go-app/app.yaml
deleted file mode 100644
index 898dccc..0000000
--- a/go-app/app.yaml
+++ /dev/null
@@ -1 +0,0 @@
-runtime: go113
diff --git a/go-app/public/index.html b/go-app/public/index.html
deleted file mode 100644
index 3050c11..0000000
--- a/go-app/public/index.html
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-Bree LaPointe
-
-
-
-
-
Bree LaPointe
-
-
Experience
-
Software Developer II
Qualtrics
Oct 2019 – Present
-
-- Designed cross-team database and service migrations for security, customer, and operational pain relief.
-- Lead weekly technical book club and participated in leadership book club and white paper reviews.
-- Interviewed and mentored entry level candidates.
-- Developed and maintained generic, highly available and reliable data storage solutions, ingestion services, and operations tools.
-
-
Software Developer I
Qualtrics
Feb 2018 – Oct 2019
-
-- Deployed the first sharded MongoDB cluster of the company. Acting in-house SME for MongoDB, Couchbase, and Redis operations.
-- Built an extensible framework for no-downtime system patching across services and clusters with modules for five databases.
-
-
Research
-
Arabidopsis thaliana computationally-generated next-state gene interaction models
Jan 2017 – Dec 2017
-
-- Implemented an exponentially more efficient solution than previous work with comparable correctness.
-- Published September 2018
-
-
Education
-
Master of Science, Computer Science
Wake Forest University
Jan 2016 – Dec 2017
-
-
Bachelor of Arts, Computer Science
High Point University
Aug 2013 – Dec 2015
-
-
Skills
-
-- Languages: Golang, Python3, bash
-- Platforms: MongoDB, Couchbase, Redis, Linux, AWS, Docker, Rundeck, Jenkins, Hashicorp stack
-
-
-
-
-
diff --git a/go-app/public/resume.css b/go-app/public/resume.css
deleted file mode 100755
index dee1cfd..0000000
--- a/go-app/public/resume.css
+++ /dev/null
@@ -1,177 +0,0 @@
-body {
- color: #000000;
- background: #EEEEEE;
- font: 1.1em "Times New Roman";
- line-height: 1.2;
- margin: 40px 0;
-}
-#resume, footer {
- background: #FFFFFF;
- border: 1px solid #CCCCCC;
- box-shadow: 2px 2px 4px #AAAAAA;
- -webkit-box-shadow: 2px 2px 4px #AAAAAA;
-}
-#social > a {
- display: block;
- max-width: 2em;
-}
-#social {
- padding: 20px 30px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
-}
-#social a, #social a:link, #social a:visited {
- color: #000;
- text-decoration: underline;
-}
-#social a {
- margin: 0 1em 0 0;
-}
-#social a:hover {
- color: #444;
- text-decoration: underline;
-}
-#resume {
- max-width: 800px;
- padding: 40px 60px;
-}
-footer {
- max-width: 925px;
-}
-#resume, footer {
- margin: 0 auto;
-}
-h1 {
- text-transform: uppercase;
- text-align: center;
- font-size: 150%;
- margin: 0;
- padding: 0;
-}
-h2 {
- border-bottom: 1px solid #000000;
- text-transform: uppercase;
- font-size: 130%;
- margin: 1.0em 0 0 0;
- padding: 0;
-}
-h3 {
- font-size: 100%;
- margin: 0.8em 0 0.3em 0;
- padding: 0;
- display: flex;
- justify-content: space-between;
-}
-h3 > div:nth-child(1) {
- flex: 1;
- padding: 0 2em 0 0;
-}
-h3 > div:nth-child(2) {
- flex: none;
-}
-p {
- margin: 0 0 0.5em 0;
- padding: 0;
-}
-ul {
- padding: 0;
- margin: 0 1.5em;
-}
-/* ul immediately after h1 = contact list */
-h1 + ul {
- text-align: center;
- margin: 0;
- padding: 0;
-}
-li {
- margin: .5em 0 0 0;
-}
-h1 + ul > li {
- margin: initial;
- display: inline;
- white-space: pre;
- list-style-type: none;
-}
-h1 + ul > li:after {
- content: " \2022 ";
-}
-h1 + ul > li:last-child:after {
- content: "";
-}
-/* p immediately after contact list = summary */
-h1 + ul + p {
- margin: 1em 0;
-}
-footer {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
-}
-footer > div {
- flex: 2;
- min-width: 20em;
-}
-#thanks {
- flex: 1;
- text-align: center;
- font-style: italic;
- opacity: 75%;
- display: flex;
- align-items: center;
- justify-content: center;
- }
-@media print {
- body {
- font-size: 12pt;
- margin: 0;
- padding: 0;
- background: none;
- }
- #resume {
- margin: 0;
- padding: 0;
- border: 0px;
- background: none;
- box-shadow: none;
- -webkit-box-shadow: none;
- }
- /* Make links black in PDF */
- /* Move this outside the print block to apply this in HTML too */
- a, a:link, a:visited, a:hover {
- color: #000000;
- text-decoration: underline;
- }
- /*
- ul:not(:nth-child(2)) > li:nth-child(1),
- ul:not(:nth-child(2)) > li:nth-child(2) {
- display: list-item;
- }
- ul:not(:nth-child(2)) > li,
- */
- footer {
- display: none;
- }
-}
-@page {
- /* Change margins and paper size of PDF */
- /* https://developer.mozilla.org/en-US/docs/Web/CSS/@page */
- size: letter;
- margin: 0.5in 0.8in;
-}
-@media screen and (max-width: 800px) {
- body {
- font-size: 16pt;
- margin: 0;
- padding: 0;
- background: #FFFFFF !important;
- }
- #resume {
- margin: 0;
- padding: 1em;
- border: 0px;
- background: none;
- box-shadow: none;
- -webkit-box-shadow: none;
- }
-}
diff --git a/go-app/main.go b/main.go
similarity index 100%
rename from go-app/main.go
rename to main.go