Looking for a developer to develop a RETS client for in .Net to import data into SQL Server. Imports will be bulk daily therefore the client will need to be developed as a Windows Service. Only bid on this project if you know what a RETS client is and if you have experience working with RETS.
Real Estate Transaction Standard (RETS)
This whole project is to support a website I have online that search MLS properties. If we are successful in this project there are multiple other projects ready, the point being I am hoping to develop a long term relationship with good coders....
for this project, there is 1 RETS database that we will be connecting too, it is version 1.7.
I prefer that the client you right be done in c# .net and be a windows service project. You should use best practices and setup an xml config file where I can make setting tweaks, for example - setting the db connection string and the time interval for which to download the RETS data and any other information that is relevant.
I want something simple, and if you can re-use libraries that is even better - I encourage the use of libRETS and there is .NET documentation available for it.
On the database side, we will be using MS SQL Server 2012. You can create all new tables that you need for this project from scratch because the website looks at views to populate its data and I can create those or we can make a seperate project in the future for that link. However, the tables MUST have apporpriate data types for the fields... meaning do not simple choose varchar(max) for all the fields, if the field is a price, it should be numeric, etc... I have a copy of the metadata and that should indicate the data type and length for what to expect.
The primary goal of this project is to keep an updated local copy of the RETS database, but when you do your inserts / updates / deletes you must use stored procedures. This could be done with 1 stored procedure or multiple, whatever makes the most sense to keep it simple. The goal is to not have a bunch of logic tied into the Client, rather utilize the client to make the connections and transfer data...
there are maybe approx 6 tables of interest and all will operate the same way, they have an ID, they have a record creation date, they have a record last modified date, and lots of other fields of data which varied by table. You will create these tables (with appropriate data field types - again I will send metadata to you to help, I have it in one xls file) and the stored procedures to manipulate the tables.
In addition create 2 more tables for internal use: 1 will log errors and 1 will log updates that were made (i.e. table name, id, field changed, old value, new value) the values can be generic varchar -- this is just to create a change log for properties the users are monitoring.
The logic of the service should be like this:
every X hours, query the RETs server by the "record last modified field" to get every record that was modified since the start of the last query. (we may want to store that date / time in the config file to use for next run ).
then for each record returned, run the stored proc which will:
insert if its a new ID or
update if its an existing ID w/ a newer modified date.
during the update, write changes to the internal changes table,
if at anytime an error occurs, log it to the internal erros (may be data type mismatch) and keep going
when all the records have been processed, run a cleanup stored procedure to delete any records that have been flaged as inactive (i will tell you which field to look at or I will write this stored proc myself and might need your help), this cleanup can also delete data from the internal tables that matches the IDs being [url removed, login to view] required:
C# Programming, Microsoft, MySQL, Script Install, Shell Script, Software Architecture, SQL, Windows Desktop