Cross-Platform Calendar Conflict and Resolution Engine

Cross-Platform Calendar Conflict and Resolution Engine

There are two component types in the server. The first component is a “connector” which, given a users’s calendar credentials accesses (for reading and writing) a CalDAV (or other API) on the target calendars. There are two “types” of connectors.

The first type of connector is server-resident and queries iCloud calendars and Google Calendars (and potentially other network resident calendars). These will likely be using calDAV or Google API (whatever Google is recommending these days to access Calendar).

The second type of connector is client-based used to collect data from machine resident calendars such as Outlook for Windows, Outlook for Mac, iCal, etc. These will need to be built as code for the specific machine and possibly OS or application version.

Connector credentials (username and password) will for each calendar to be connected to will be stored in a MySQL database. Each connector should have a test(un, pw) method that verifies that the username and password is correct and determines any limitations to the functions available to it (e.g. read-only, etc) and delivers a return code based on the result.

The second component will identify any scheduling conflicts between one or more calendars for a given time and date. Example, if given an event in calendar 1 from 7pm to 9pm (or 19:00 – 21:00) on 15 July 2013 the application will search one or more other calendars for any events which conflict with it).

The conflict detection component (component two) will work from stored calendar data (in the MySQL db) that had previously been retrieved from calendars if a calendar is not online and available, but each time the calendar is available on a query the database will be updated with current information.

If a conflict is detected the conflict detection component will alert the user AND it will call extendible methods to propose alternative scheduling for the new event that would not conflict. These extendible methods will be limited initially, but will be easily added to the application in the future. We would see them as methods that would be compiled into future versions.

The conflict resolution component will have the ability to use the calendar connectors to update/change calendars when an event time is changed (either by selecting one of the proposed alternative times or to a specifically given time/date.

The server programs (server resident connectors and schedule conflict resolution component) will run on Linux and should be written in a c variant (c, c++, etc). The connectors shall be separate programs so that the core (second component/schedule conflict resolution component) can employ whichever one it needs for a given calendar. The client resident connectors will be written in some variant of c compiled for the target machine (mac OS/X, Windows, etc). The client resident connectors will have only what GUI is required to install and configure the application and test connectivity (to the local calendar and to the server). The server resident connectors and schedule conflict resolution component will be command line applications or services that have the ability to report to syslog and varying levels depending on configuration file debug settings.

Please respond with your experience in accessing remote and local calendars as well as your experience in each of the platforms involved. Please give some information about how you’d approach the applications and any questions you have about it.

Skills: C Programming, MySQL, Software Architecture, Software Development

See more: cross platform calendar conflict resolution engine, report client, events calendar, writing software for mac, writing programs for mac, what is a method in programming, types of writing services, types of report writing, two types of writing, search engine questions, schedule conflict, programs for online calendar, programming test questions, programming test online, programming software for mac, programming schedule, programming data types, programming ability test, os x programming, online programming test in c++, online programming services, online programming platform, online platform for programming, online architecture services, mac writing software

About the Employer:
( 1 review ) Gladstone, United States

Project ID: #4729156

7 freelancers are bidding on average $2953 for this job


Please see PMB (Private Message Board) for more detailed message.

$3092 USD in 45 days
(30 Reviews)

Hi We are interested in your project and read your [url removed, login to view] have completed 150+ big projects in last 5 years. Please check private message board for details.

$2680 USD in 22 days
(3 Reviews)

I am ready to start this project.....

$2368 USD in 20 days
(5 Reviews)

Kia ora! [url removed, login to view] are a NZ based web and software design company who have seen you here on the freelance market and are really excited about working with you and treating you to the full service, professional experi More

$3092 USD in 30 days
(2 Reviews)

Please check PMB for awesome work.I can do it on your time and cost with great quality.I am a top 10 oDesk developer started here now.

$2061 USD in 20 days
(0 Reviews)

12+ year expert team...plz give me few minutes for technical discussion......we have lots of R & D expert tean we done deliver lots of technically challenge project.....plz give me few minutes for technical discussion. More

$5154 USD in 60 days
(0 Reviews)

Dear Client, We here at Define Web Marketing, based in the USA would be more the happy to help you with your platform needs. We do the work up front for free, yes free and do not request payment until you are complete More

$2222 USD in 14 days
(0 Reviews)