Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 2.5 KB

README.md

File metadata and controls

52 lines (36 loc) · 2.5 KB

RSS-Parser

GitHub contributors

Simple RSS job postings parser web application using Google Maps, build with JavaScript, NodeJs, and MongoDB.

A Screenshot

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

To be able to run the project on your system you should have:

  • Node ^18.16.1 - A cross-platform JavaScript runtime environment.
  • MongoDB ^6.0 - A cross-platform document-oriented database program.
  • Git - A free and open-source distributed version control system.

Installation

To install the project on your system first open the terminal, then follow the given steps and execute the commands on your terminal. 0. Make sure you have all the prerequisites listed above installed on your system.

  1. Clone the project from GitHub: git clone https://github.com/AbdullahAlabd/RSS-Parser
  2. Switch to the project's directory: cd RSS-Parser/
  3. Install the required packages from "package.json": npm install
  4. Take a copy of config.env.example file and name it config.env or by running: cp ./src/configs/config.env.example ./src/configs/config.env
  5. Update your credentials in config.env.
  6. Finally, run the app on localhost: node app.js or using Nodemon for easier development npm run dev
  7. To avoid any issues with Google Maps api, It's preferred to disable any ad-blocking browser extensions on the web app home page.

How it works

  • A background service running that polls RSS jobs every defined on config.env.
  • If a polled job posting is not already in DB it gets stored.
  • Front end client requests job postings data from the backend through ajax call on document initialization.
  • Backend gets the data directly from database and returns it in json format.
  • Front end clients formats data and handle searching, ordering, on the client side, for better UX.

Author

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details