
Expose HN: StackOverflowgeddon Survival Kit
Classic Overview
The fully dependency is with Google Maps API. If no key for Google Maps API is geared up it appropriate would no longer autocomplete the enviornment whereILive
. In that case the positioning files from the Dev Story is stored at aboutMe.profile.whereILive.notes
.
Study the approach to speed
Unsightly Node.js
legend set up legend make legend commence curl http://localhost: 3000?username=Dev Story username>
Docker
docker make . -t username/dev-myth-scraper docker speed -p3000: 3000 -d username/dev-myth-scraper # If you happen to've a Google Maps API docker speed -p3000: 3000 -e SO_GOOGLE_MAPS_API_KEY=key value> -d username/dev-myth-scraper
Code
The scraping process is designed to note the MAC JSON schema building independently from the set up on the Stack Overflows HTML. So every “excellent” sub-file on the JSON Schema on the total have its hold parser class.
The DevStoryDownloader
and Geocoder
are created first and foremost so we are in a position to inject a mock for take a look at capabilities, avoiding overusing the Stack Overflow or Google’s methods, this additionally prevents fraudulent crimson tests. We would possibly per chance perchance exhaust the dependency injection in greater ways, but for a accomplishing that’s going to be used for a couple of days and discarded it would no longer well price the cost.
Deployment
Now we must configure the GOOGLE_MAPS_API_KEY
to make exhaust of the geocoder.
Maintain choices
To adapt the scraped files to the MAC JSON Schema we took some make choices.
Title to name and surnames
Stack Overflow makes exhaust of appropriate a string with plump name, to abolish name
and surnames
fields we determined to make exhaust of the principle be aware as name and the comfort as surnames.
Example:
{
name: 'Ryan Reynolds'
}
to
{
name: 'Ryan',
surnames: 'Reynolds'
}
Space completion
Space is a free enviornment, so we are the exhaust of Google Maps API to accept extra files. whereILive
enviornment is serene by country
, station
, and municipality
but on the total a Dev Story fully has 2 of those fields.
Examples:
- Tampa, Florida> Tampa, Florida, US
- Madrid, Spain> Madrid, Crew of Madrid, ES
Job parsing
Overview parsing
Stack Overflow top answers parsing
Why
We were dedicated to building an open platform to abet watch over careers for the duration of 2022, including online CVs. Then, we knew Stack Overflow had determined to sundown the Developer Experiences (a extra or less… online CVs), and that supposed that extra than 4 million builders would lose their skilled files without a cessation in sight.
So, we conception "what if we hustle to accept a minimum of a subset of what we wished to make in 6 months in precisely 2 to present those of us a skill to abet their files?"
. The leisure is historical past.
- First, we defined an open-provide CV layout: the MAC
- Second, we created a tool to enhance and store your files out of your Dev Story —as a MAC compliant JSON file— readily available by a touchdown web page. The code working in the lend a hand of it’s what you’ve on this repo.
- Third, we improved our online CV platform to import (if wished) files from Dev Experiences without anxiety.
Who we are
The Kit changed into made with
We are a bunch of builders making an strive to abolish a bigger skill to technical skills recruiting. Here is our manifesto:
License
This code is free and open-provide instrument licensed and dispensed below the Artistic Commons Attribution Portion Alike 4.0 World (CC BY-SA 4.0 World).
🌟 Unfold the be aware!
If you happen to must claim thanks and/or toughen difficult development of the Kit:
- Add a GitHub Star to the accomplishing!
- Tweet referring to the accomplishing for your Twitter!
- Tag @getmanfred and/or
#stackoverflowgeddon
- Tag @getmanfred and/or
Thanks so great for your curiosity in rising the rea