How vtjvlad/bifo-pars works
The repository combines a Hotline.ua catalog and filter scraper, MongoDB-backed filter API, and data-processing/export scripts. The main workflow is category selection, scraping product or filter data, then processing it for storage or export; API clients can query stored filters. The README separately documents a JSON-object extraction utility, included as an independent capability. Several tree-listed server routes and subsystems were not supplied as source, so their behavior and connections are omitted.
Main entry points: Filter.js Filter model · hotline-parser.js Product parser · filters.js Filter endpoints · hotline-filters-parser.js Filter parser
Components 21
Hotline scraping
- Scraper CLI
pars/cli-parser.js - Product parser
pars/hotline-parser.js - Legacy parser
legacy/hotline-parser.js - Token loader
pars/tt.js
Filter data
- Filter parser
pars/hotline-filters-parser.js - Filter initialization
init-filters-db.js - Filter processing
process-filters.js - Stream processing
process-filters-stream.js - Filter export
export-filters-stream.js - Filter model
models/Filter.js
Catalog data
- Product processing
process-filters.js - Product model
models/Product.js
Filter API
- HTTP server
server.js - Filter endpoints
routes/filters.js
JSON utility
- Object extractor
extract-objects.js
Other components
- Operator
- Hotline GraphQL
- API client
- MongoDB
- JSON utility user
- JSON files
Connections 23
- Operator → Scraper CLI: selects categories
pars/cli-parser.js - Scraper CLI → Product parser: creates parser
pars/cli-parser.js - Product parser → Token loader: loads tokens
pars/hotline-parser.js - Product parser → Hotline GraphQL: requests products
pars/hotline-parser.js - Filter parser → Token loader: loads tokens
pars/hotline-filters-parser.js - Filter parser → Hotline GraphQL: requests filters
pars/hotline-filters-parser.js - Legacy parser → Hotline GraphQL: requests products
legacy/hotline-parser.js - Legacy parser → Token loader: loads tokens
legacy/hotline-parser.js - Filter initialization → Filter parser: parses categories
init-filters-db.js - Filter initialization → Filter model: writes filters
init-filters-db.js - Filter processing → Filter model: uses model
process-filters.js - Filter processing → Product model: uses model
process-filters.js - Stream processing → Filter model: uses model
process-filters-stream.js - Stream processing → Product model: uses model
process-filters-stream.js - Filter export → Filter model: reads filters
export-filters-stream.js - Filter export → Product model: reads products
export-filters-stream.js - HTTP server → Filter endpoints: mounts routes
server.js - HTTP server → MongoDB: connects to
server.js - API client → HTTP server: sends requests
- Filter endpoints → Filter model: queries filters
routes/filters.js - Filter endpoints → MongoDB: reads data
- JSON utility user → Object extractor: runs extraction
- Object extractor → JSON files: reads and writes