Job Search is an web app which collects IT job offers from several websites, clears them from unnecessary information and presents them in an accessible way.
The application consists of a backend and frontend part. The backend is responsible for obtaining information about job offers from other websites, unifying it into a common format and serving it via API. The frontend part retrieves data from the backend, displays it in a simple form and adds the ability to filter and sort offers. At the moment, the application supports the following websites:
🔗Just Join It
🔗Theprotocol
🔗Pracuj.pl
List of technologies used to build the app:
Backend:
Typescript - strongly typed programming language that builds on JavaScript.
NodeJS - open-source, cross-platform JavaScript runtime environment.
Express.js - fast, unopinionated, minimalist web framework for Node.js.
Puppeteer - node.js library which provides a high-level API to control Chrome/ Chromium.
Node-Crone - tiny task scheduler in pure JavaScript for node.js.
Axios - promise-based HTTP Client for node.js and the browser.
Frontend:
Vue3 - an approachable, performant and versatile framework for building web user interfaces.
Vite - frontend build tooling that significantly improves the frontend development.
Heroicons - a set of free MIT-licensed high-quality SVG icons as Vue functional components.
$\color{magenta}{\textrm{Marked by purple rectangle are filtered offers.}}$ $\color{green}{\textrm{Marked by green rectangle are available filters.}}$ $\color{red}{\textrm{Marked by red rectangle are sorting options.}}$ $\color{yellow}{\textrm{Marked by yellow rectangle are active filters.}}$
-
Clone repository
git clone https://github.com/rafJagCode/job_scrapper.git
-
Install dependencies
(cd job_scrapper/backend && npm install) (cd job_scrapper/frontend/job_search_app && npm install)
-
Create .env files
cp job_scrapper/backend/.env.example job_scrapper/backend/.env cp job_scrapper/frontend/job_search_app/.env.example job_scrapper/frontend/job_search_app/.env.development cp job_scrapper/frontend/job_search_app/.env.example job_scrapper/frontend/job_search_app/.env.production
-
Fill in .env files
vim job_scrapper/backend/.env vim job_scrapper/frontend/job_search_app/.env.development vim job_scrapper/frontend/job_search_app/.env.production
-
Build and serve backend
(cd job_scrapper/backend && npm run build) (cd job_scrapper/backend && node dist/api/server.js)
-
Serve develompment or build for production frontend
(cd job_scrapper/frontend/job_search_app && npm run dev) (cd job_scrapper/frontend/job_search_app && npm run build)
MIT