dpalmasan / dev-job-analytics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jobservatory: A platform for the intersection between Technologies and Jobs

A platform to analyze technologies trend over time, by country, and by importance on StackOverFlow.

Backend Build Backend Lint Frontend Build Frontend Lint Scraper Build Scraper Lint Code style: black

Jobservatory Architecture

Fig. 1: Jobservatory Architecture

Scrapers

Under the scraper folder, there is all the code related to data pipelines which have the task of ingesting data into our database. Currently we are using MongoDB as our DB engine, because schema evolution flexibility and the fast iterations that are possible under this model. We are currently scraping data from two sources: Linkedin and StackOverflow.

Jobservatory Express

Our backend is an express server (Nodejs), from which we implement endpoints for several queries. The related code is under jobservatory_express directory. We also cache requests under the assumption that data will not vary faster than 10 minutes, so we have a redis cache to improve latency. Our performance tests showed that the reduction in latency was from 400 ms to 3 ms on average.

Jobservatory React

As the name suggests, our frontend is built on React framework. Code is under jobservatory_react. For manage the states inside the react app we use Redux, for UI layouts in general Chakra-ui, and for charts we use Nivo. Tests are under react-testing-library reaching 70%.

jobservatoryShortSize

About


Languages

Language:JavaScript 37.1%Language:TypeScript 30.8%Language:Python 25.6%Language:HTML 5.0%Language:SCSS 1.4%Language:Shell 0.1%