Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump puppeteer from 1.10.0 to 1.13.0 #8

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .tool-versions
@@ -1 +1,2 @@
elm 0.19.0
nodejs 14.14.0
12 changes: 12 additions & 0 deletions Makefile
@@ -0,0 +1,12 @@
.PHONY: run
run:
elm-app start

.PHONY: publish
publish:
echo "Remember to run `make gen.pdf` and commit before publishing"
elm-app build && netlify deploy --prod

.PHONY: gen.pdf
gen.pdf:
npm run generate-pdf
2 changes: 1 addition & 1 deletion elm.json
Expand Up @@ -3,7 +3,7 @@
"source-directories": [
"src"
],
"elm-version": "0.19.0",
"elm-version": "0.19.1",
"dependencies": {
"direct": {
"elm/browser": "1.0.0",
Expand Down
13,658 changes: 5,714 additions & 7,944 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Expand Up @@ -22,8 +22,8 @@
},
"homepage": "https://github.com/opsb/cv-elm#readme",
"devDependencies": {
"create-elm-app": "^2.2.3",
"puppeteer": "^1.10.0",
"create-elm-app": "^5.22.0",
"puppeteer": "^1.13.0",
"serve-static": "^1.13.2"
}
}
Binary file modified public/opsb.pdf
Binary file not shown.
65 changes: 40 additions & 25 deletions src/Data.elm
Expand Up @@ -80,7 +80,22 @@ introduction =


experience =
{ twentyBn =
{ ctm =
{ title = "Consultant"
, location = "London / Remote"
, company = "CompareThe\nMarket.com"
, dates = "Feb 2019-Present"
, projects =
[ { name = "MoneyHub"
, start = 2019
, end = 2021
, overview = "Having bought Bean.com, a startup that helped people save money on their bills CompareTheMarket wanted to replace the existing platform with a high performance elixir service to integrate the majority of UK high street banks using the Open Banking specification. Devised and built custom algorithms for analysing transaction data and identifying merchants and recurring bills and payments."
, stack = [ "Elixir", "Elm", "Javascript", "Ruby" ]
, talkingPoints = []
}
]
}
, twentyBn =
{ title = "Consultant"
, location = "Berlin / Remote"
, company = "TwentyBN"
Expand Down Expand Up @@ -169,7 +184,7 @@ experience =
[ { name = "Give4Sure"
, start = 2012
, end = 2014
, overview = "A cross-browser plugin and webapp that helped charities raise money while their supporters shopped online. The browser extension highlighted links on any page to participating retailers in a charity's chosen color. Given that the extension ran on every page and costs needed to be kept low it was built so that it can run entirely independently of our servers."
, overview = "A cross-browser plugin and webapp that helped charities raise money while their supporters shopped online. The browser extension highlighted links on any page to participating retailers in a charity's chosen color."
, stack = [ "Browser extensions", "Ruby on Rails", "Postgres", "Ember.js", "Kanban", "BDD" ]
, talkingPoints =
[ "Built browser extension to handle high volume but with low infrastructure costs."
Expand All @@ -181,7 +196,7 @@ experience =
, { name = "Marks and Spencer School Uniforms"
, start = 2011
, end = 2012
, overview = "A collaboration with Marks and Spencer to provide bespoke school uniforms to UK schools. Built a webapp that allowed schools to create and preview custom school uniforms based on Marks and Spencer's standard uniform."
, overview = "Led the development of an online store allowing schools to customise standard Marks and Spencer uniforms with their school badges and colours."
, stack = [ "Ruby on Rails", "Postgres", "Kanban", "BDD" ]
, talkingPoints =
[ "Built online catalogue that allowed schools to sign up and create their own bespoke uniform online."
Expand All @@ -201,25 +216,16 @@ experience =
]
}
, informa =
{ title = "Tech lead"
{ title = "Tech lead/Architect"
, location = "London"
, company = "Informa"
, dates = "2005-2010"
, projects =
[ { name = "Intelligence Centre 2"
, start = 2008
, end = 2010
, stack = [ "Java/Spring", "Oracle DB", "Scrum", "BDD" ]
, overview = "Custom CMS for analysis of the telecoms sector. Frustrated with using web based text editors (which were very poor at the time), I proposed and built a webdav based solution for the journalists to write articles in word, save and then see them rendered immediately on the website."
, talkingPoints =
[ "Devised a webdav based system that allowed journalists to edit articles directly in MS Word. The system allowed journalists to hit save in Word and instantly see a preview on the live site."
]
}
, { name = "World Cellular Information Service"
[ { name = "World Cellular Information Service"
, start = 2007
, end = 2006
, stack = [ "Java", "Spring", "MS Analytics services", "Oracle DB", "Scrum", "TDD" ]
, overview = "BI portal for worldwide cellular market data. Having developed the successful architecture for the new WBIS product (see below) I was asked to roll it out for what's Informa Telecom's flagship product."
, overview = "BI portal for worldwide cellular market data. Having developed the successful architecture for the new WBIS product (see below) I was asked to roll it out for Informa Telecom's flagship product."
, talkingPoints =
[ "Used incremental approach with frequent releases to gradually shift product over to new architecture without disrupting the live service or requiring parallel development."
, "Introduced clover to track test coverage and promote a TDD approach"
Expand All @@ -236,6 +242,15 @@ experience =
, "Introduced maven to standardise build process"
]
}
, { name = "Intelligence Centre 2"
, start = 2008
, end = 2010
, stack = [ "Java/Spring", "Oracle DB", "Scrum", "BDD" ]
, overview = "Devised a webdav based CMS allowing Journalists to write their articles in MS Word, save and see an instant preview of their article on the website."
, talkingPoints =
[ "Devised a webdav based system that allowed journalists to edit articles directly in MS Word. The system allowed journalists to hit save in Word and instantly see a preview on the live site."
]
}
]
}
, nutshellDevelopment =
Expand Down Expand Up @@ -271,27 +286,27 @@ education =
skills : List Skill
skills =
[ { name = "Ruby on Rails", years = 8 }
, { name = "Elixir / Phoenix", years = 2.5 }
, { name = "Elm", years = 2.5 }
, { name = "Elixir / Phoenix", years = 5 }
, { name = "Elm", years = 5 }
, { name = "React/Redux", years = 0.5 }
, { name = "RxJS", years = 1.5 }
, { name = "Ember.js", years = 5 }
, { name = "Javascript - ES2017", years = 8 }
, { name = "Javascript - ES2017", years = 10 }
, { name = "Java", years = 5 }
, { name = "SQL", years = 14 }
, { name = "Firebase", years = 2 }
, { name = "OLAP / MDX", years = 4 }
, { name = "Event-sourcing/CQRS", years = 2 }
, { name = "Scrum / Kanban", years = 13 }
, { name = "BDD / TDD", years = 13 }
, { name = "Git", years = 10 }
, { name = "Scrum / Kanban", years = 15 }
, { name = "BDD / TDD", years = 15 }
, { name = "Git", years = 12 }
, { name = "Realtime systems", years = 5 }
, { name = "HTML", years = 12 }
, { name = "CSS / SASS", years = 12 }
, { name = "HTML", years = 14 }
, { name = "CSS / SASS", years = 14 }
, { name = "OO", years = 14 }
, { name = "Functional", years = 3 }
, { name = "Functional", years = 5 }
, { name = "Heroku", years = 8 }
, { name = "AWS", years = 8 }
, { name = "AWS", years = 10 }
]


Expand Down
42 changes: 16 additions & 26 deletions src/Main.elm
Expand Up @@ -259,8 +259,9 @@ experiencePage =
"Experience"
)
, row [ width fill, height fill ]
[ Atom.pageColumn [ spacing 40 ]
[ positionView (Data.experience |> .twentyBn)
[ Atom.pageColumn [ spacing 25 ]
[ positionView (Data.experience |> .ctm)
, positionView (Data.experience |> .twentyBn)
, positionView (Data.experience |> .liqid)
, positionView (Data.experience |> .zapnito)
, positionView (Data.experience |> .lytbulb)
Expand Down Expand Up @@ -393,40 +394,30 @@ mobilePositionView position =

positionView : Position -> Element msg
positionView position =
column
[ spacing 15
, width fill
, paddingEach { top = 0, right = 0, bottom = 5, left = 0 }
]
[ column [ spacing 8, width fill ]
[ row [ width fill, spacing 20 ]
[ column [ width (fillPortion 11), spacing 5, alignTop ]
[ el [ alignLeft ]
(Atom.title2 [] position.company)
, el [ alignLeft ] (Atom.title3 [ Font.color Colors.red ] <| position.title)
, el [ alignLeft ] (Atom.bodyText [] position.dates)
, el [ alignLeft ] (Atom.bodyText [] position.location)
]
, row [ spacing 20, width (fillPortion 20), alignTop ]
[ column [ spacing 15, width (fillPortion 20) ] (List.map projectView position.projects)
]
]
row [ width fill, spacing 0 ]
[ column [ width (fillPortion 7), spacing 5, alignTop ]
[ Atom.title3 [ Font.size 16, paddingEach { top = 0, right = 0, bottom = 5, left = 0 } ] position.company
, Atom.title5 [ Font.size 12, Font.color Colors.red ] <| position.title
, Atom.bodyText [Font.size 10] position.dates
, Atom.bodyText [Font.size 10] position.location
]
, column [ spacing 15, width (fillPortion 20) ]
(List.map projectView position.projects)
]


projectView : Project -> Element msg
projectView project =
column [ spacing 5 ]
[ Atom.title3 [ paddingEach { top = 0, right = 0, bottom = 5, left = 0 } ] project.name
[ Atom.title3 [ Font.size 14, Font.medium, paddingEach { top = 0, right = 0, bottom = 2, left = 0 }, centerY ] project.name
, Atom.paragraph [ Font.size 12 ] [ text <| projectSummary <| project ]
, hashTags project.stack
]


projectSummary : Project -> String
projectSummary project =
project.overview |> String.split "." |> List.head |> Maybe.withDefault ""
project.overview


hashTags : List String -> Element msg
Expand All @@ -438,14 +429,14 @@ hashTags tags =
|> String.join ", "
in
Atom.paragraph
[ Font.size 11
[ Font.size 9
, Font.color Colors.grey

--, Font.italic
--, Atom.titleFont
, Font.alignLeft
, Font.medium
, Font.family [ Font.monospace ]
, Font.family []
]
[ text formatted ]

Expand Down Expand Up @@ -494,8 +485,7 @@ openSourceProject project =
{ url = project.repo
, label =
row [ width fill ]
[ el [ alignLeft ] (Atom.title3 [] project.name)
, el [ alignRight ] (Atom.title4 [] project.shortInvolvement)
[ el [ alignLeft ] (Atom.title4 [Font.size 14, Font.medium] project.name)
]
}
, Atom.autolink project.overview
Expand Down
21 changes: 17 additions & 4 deletions src/View/Atom.elm
Expand Up @@ -17,6 +17,7 @@ module View.Atom exposing
, title2
, title3
, title4
, title5
, titleFont
, verticalDivider
)
Expand Down Expand Up @@ -76,7 +77,7 @@ title3 : List (Element.Attribute msg) -> String -> Element msg
title3 customAttrs title_ =
attrsEl
[ titleFont
, Font.size 18
, Font.size 16
, Font.color Colors.grey
, Font.semiBold
, letterSpacing -0.2
Expand All @@ -87,6 +88,18 @@ title3 customAttrs title_ =

title4 : List (Element.Attribute msg) -> String -> Element msg
title4 customAttrs title_ =
attrsEl
[ titleFont
, Font.size 14
, Font.semiBold
, Font.color Colors.grey
]
customAttrs
(text title_)


title5 : List (Element.Attribute msg) -> String -> Element msg
title5 customAttrs title_ =
attrsEl
[ titleFont
, Font.size 14
Expand Down Expand Up @@ -173,13 +186,13 @@ bodyText customAttrs text_ =

tableOfContentsLine : String -> String -> Element msg
tableOfContentsLine leftText rightText =
row [ width fill, Font.family [ Font.monospace ] ]
row [ width fill, Font.family [] ]
[ el
[ Font.color
Colors.grey
, paddingEach { bottom = 0, left = 0, top = 0, right = 5 }
]
(title4 [ Font.family [ Font.monospace ], Font.size 11 ] leftText)
(title4 [ Font.family [], Font.size 11 ] leftText)
, el
[ width fill
, Border.dotted
Expand All @@ -193,7 +206,7 @@ tableOfContentsLine leftText rightText =
[ Font.color Colors.grey
, paddingEach { bottom = 0, left = 5, top = 0, right = 0 }
]
(title4 [ Font.family [ Font.monospace ], Font.size 12 ] rightText)
(title4 [ Font.letterSpacing 0.1, Font.size 10 ] rightText)
]


Expand Down