The program should take user ids and passwords of domain registrar accounts, log in, and download all domains' details, including date of expiry, name servers, privacy on/off, locked, auth code, contact details and other fields.
I will not provide auth details, you will have to create accounts and test this yourself.
Examples of domain registrars: GoDaddy, Namesilo.
Some of them have APIs available.
There may be multiple accounts with some registrars (there may be two accounts with GoDaddy, as an example) - all of them should be easy to add to this program.
The input (registrar names, user ids and passwords) should be accepted in two forms:
1. As a simple .txt file with format something like:
GoDaddy useridgodaddy1 password_whatever_that_is1
GoDaddy useridgodaddy2 password_whatever_that_is2
Namecheap useridnamech1 password_whatever3
2. As a mySQL table with just the auth details where the same details are present
The program should accept --inputformat=csv or --inputformat=db to switch between these (you can change the name "--format" - this is just an example).
The program should get details like account name, domain name, created on, expired, expiration date, locked/not locked, and other details - each registrar will have different details.
I will give you a DB table schema to start with.
The program should store the details in the table and also store the details in a CSV file.
This must be configurable - with something passed to the program like, --outputformat=csv or --outputformat=db.(Just my suggestion - feel free to modify).
Language: Open to almost any programming language, but must use recent versions - no Python 2.7 or Java 6 or PHP 4 or so, please. A GUI will be nice, but not essential.
I will give you the list of registrars and the table schema once you apply.
Please ask for clarifications.
In your response, clearly specify your approach to this, including the language and platform you are going to use, and how you are going to test (since I cannot give you my production auth details).