Greetings everyone.
I'm almost finished with my own version of a CPO Search application. How it works in general is that you feed it a source of CPO inventory information and a list of your own search filters, and it will rank potential matches and tell you how the matches are different from the last time you ran the search. There is no user interface currently; it's meant to run more as either a console application or a scheduled task.
This all started because I will be looking for a CPO Model S soon; I have a whole bunch of preferences and I was encouraged by what the ev-cpo.com website is already doing and wanted to expand on it in my own way.
I wrote the application in Java. It is written to be as generic as possible, and at it's core is a search engine that can be used for anything, not just CPO Model S searches. I'm thinking of releasing it online somewhere open source; maybe at SourceForge or something. It's pretty much complete, but just needs some testing and verification.
Here is sort of a visualization of how the application is structured:
If you are a Java programmer, you can define your own filter sources, candidate sources, and result destinations to suit your needs. Or, whether you are a Java programmer or not, you can use the ones already bundled with the application.
Right now, I have the following bundled with the application:
Filter Sources:
CSVFilterSource -- this one loads your search filters from a CSV text file. I've included a sample filters file with the application.
Candidate Sources:
CSVCandidateSource -- this one loads candidates to search from a CSV text file. Where such file comes from is up to the user.
EVCPOOfflineHtmlCandidateSource -- this one, you go visit the ev-cpo.com website, download the page as HTML Only, point the application to your downloaded file through the properties file, and it will parse the Model S inventory from the downloaded page (currently only does the US inventory, but I'll expand on that later probably). It can handle both subscribed user inventory list and unsubscribed user inventory list (though subscribed is better as it gives you more attributes to filter on).
Result Destinations:
ConsoleResultDestination -- this one just prints search results to the screen.
MailResultDestination -- this one sends you an email with the search results.
There are plenty more possibilities for how filters, candidates, and destinations could be set up. This is just a starting point. A source that allows automated downloads of information would be ideal, but that requires finding a suitable source and getting approval from the source providers.
I'll post another update to this thread when I have it online. I plan on it being all open source. I just need to finish testing and find an online home for the source and binaries.
I'm almost finished with my own version of a CPO Search application. How it works in general is that you feed it a source of CPO inventory information and a list of your own search filters, and it will rank potential matches and tell you how the matches are different from the last time you ran the search. There is no user interface currently; it's meant to run more as either a console application or a scheduled task.
This all started because I will be looking for a CPO Model S soon; I have a whole bunch of preferences and I was encouraged by what the ev-cpo.com website is already doing and wanted to expand on it in my own way.
I wrote the application in Java. It is written to be as generic as possible, and at it's core is a search engine that can be used for anything, not just CPO Model S searches. I'm thinking of releasing it online somewhere open source; maybe at SourceForge or something. It's pretty much complete, but just needs some testing and verification.
Here is sort of a visualization of how the application is structured:
If you are a Java programmer, you can define your own filter sources, candidate sources, and result destinations to suit your needs. Or, whether you are a Java programmer or not, you can use the ones already bundled with the application.
Right now, I have the following bundled with the application:
Filter Sources:
CSVFilterSource -- this one loads your search filters from a CSV text file. I've included a sample filters file with the application.
Candidate Sources:
CSVCandidateSource -- this one loads candidates to search from a CSV text file. Where such file comes from is up to the user.
EVCPOOfflineHtmlCandidateSource -- this one, you go visit the ev-cpo.com website, download the page as HTML Only, point the application to your downloaded file through the properties file, and it will parse the Model S inventory from the downloaded page (currently only does the US inventory, but I'll expand on that later probably). It can handle both subscribed user inventory list and unsubscribed user inventory list (though subscribed is better as it gives you more attributes to filter on).
Result Destinations:
ConsoleResultDestination -- this one just prints search results to the screen.
MailResultDestination -- this one sends you an email with the search results.
There are plenty more possibilities for how filters, candidates, and destinations could be set up. This is just a starting point. A source that allows automated downloads of information would be ideal, but that requires finding a suitable source and getting approval from the source providers.
I'll post another update to this thread when I have it online. I plan on it being all open source. I just need to finish testing and find an online home for the source and binaries.