![CI](https://github.com/hgrsd/findcar/actions/workflows/ci.yaml/badge.svg?branch=main) # findcar A cli that lets you search, sort, aggregate and filter results from multiple car search engines. Because of course you want to search for cars from the command line. # Examples ## Text-based rendering ![text-based rendering](https://github.com/hgrsd/findcar/blob/main/assets/screenshots/text.png) ## JSON-based rendering ![json-based rendering](https://github.com/hgrsd/findcar/blob/main/assets/screenshots/json.png) # Usage ``` Usage: findcar [OPTIONS] Options: --make Optional, make of the car to search for --model Optional, model of the car to search for --min-year Optional, minimum year of registration --max-year Optional, maximum year of registration --min-kms Optional, minimum kms --max-kms Optional, maximum kms --min-price Optional, minimum price --max-price Optional, maximum price --sort-by Optional, value to sort by. Options are: price, year, mileage --sort-order Optional, sort order. Options are ASC, DESC. If not specified, but a sort-by value *is*, then ASC will be used by default --limit Optional, maximum number of results to return --emitter Optional, emitter for the results. Options are: csv, json, text. Default is text --search-engine Optional, search engine to use. Options are donedeal_ie, carzone_ie. Default is to use all available engines. Example: ./findcar [other opts] --search-engine carzone_ie --search-engine donedeal_ie -h, --help Print help information -V, --version Print version information ``` # Architecture The goal of `findcar` is to be easily extensible with further car search engines. Every search engine is expected to implement the `Searcher` trait, after which it can be plugged into the main engine as one of the searchers. # Searchers This project comes with two searchers: * [donedeal.ie](src/search/donedeal_ie.rs) * [carzone.ie](src/search/carzone_ie.rs) # Contributions Any contributions are very much welcome. Please feel free to suggest/implement new search engines or new functionaliy and I would be very happy to review and discuss!