Expose HN: StackOverflowgeddon Survival Kit

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.

General overview diagram

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

Code organization

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

Components architecture

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

Geocoder flow diagram

Job parsing

job parsing details diagram

Overview parsing

assessment parsing details diagram

Stack Overflow top answers parsing

stack overflow top answers parsing diagram

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.

  1. First, we defined an open-provide CV layout: the MAC
  2. 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.
  3. 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 ❤️ and care by the Manfred crew.

We are a bunch of builders making an strive to abolish a bigger skill to technical skills recruiting. Here is our manifesto:


Manfred 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!

Thanks so great for your curiosity in rising the rea

Read More

Related Articles

What’s recent in Emacs 28.1?

By Mickey Petersen It’s that time again: there’s a new major version of Emacs and, with it, a treasure trove of new features and changes.Notable features include the formal inclusion of native compilation, a technique that will greatly speed up your Emacs experience.A critical issue surrounding the use of ligatures also fixed; without it, you…

Valve has just validated 3000 Games For The Steam Deck

Willy Jetman: Astromonkey’s RevengeSteam Deck Verified2022-05-21Store Page The Princess, the Stray Cat, and Matters of the HeartSteam Deck Verified2022-05-21Store Page YngletSteam Deck Verified2022-05-21Store Page Citizens of SpaceSteam Deck Playable2022-05-21Store Page VirtuaVerseSteam Deck Playable2022-05-21Store Page Shank 2Steam Deck Verified2022-05-21Store Page Chromosome EvilSteam Deck Playable2022-05-21Store Page New Super Lucky’s TaleSteam Deck Playable2022-05-21Store Page DeleveledSteam Deck Verified2022-05-21Store Page…

The Art of Meeting Language Programming (1996)

Forward Why Would Anyone Learn This Stuff? 1. What’s Wrong With Assembly Language 2. What’s Right With Assembly Language? 3. Organization of This Text and Pedagogical Concerns 4. Obtaining Program Source Listings and Other Materials in This Text Section One: Machine Organization CHAPTER ONE: DATA REPRESENTATION 1.0 – Chapter Overview 1.1 – Numbering Systems 1.1.1…

Windows 11 Guide

A guide on setting up your Windows 11 Desktop with all the essential Applications, Tools, and Games to make your experience with Windows 11 great! Note: You can easily convert this markdown file to a PDF in VSCode using this handy extension Markdown PDF. Getting Started Windows 11 Desktop Bypass Windows 11’s TPM, CPU and…

Stripe Crypto

The crypto ecosystem and its regulatory outlook continue to evolve rapidly, and our feature availability varies by region and use case. Please see our crypto supportability page for more details on our current product availability. Fill out the form to tell us more about what you’re building so we can better understand how to support…