Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Not a job/task schedule, but actual appointment system people can use to create recurring events. It should support many recurrence patterns such as 1st Monday of each month, every Tues/Thurs, a specific date, etc.

Everywhere I search I find many example of C# job schedulers but not any appointment systems. I've been programming as a hobby for quite some time but have never tackled an appointment system before (I have attempted a couple times, but gave up and moved on to other things).

What are some good websites to find tutorials covering this? Or, are there any good books on the subject?

share|improve this question

closed as not constructive by Oded, thorsten müller, Jarrod Nettles, pdr, Jarrod Roberson Feb 27 '12 at 17:16

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

9  
The best place to learn is to write one. Then another one. Then, another. –  Oded Feb 27 '12 at 13:23
    
Aye, but really where should I begin? I don't want to start out poorly, if there are materials available to study from. –  Chad Feb 27 '12 at 13:29
4  
Where did you look? What exactly are you having difficulties with? –  Oded Feb 27 '12 at 13:30
1  
Then take the time to assimilate it. Scheduling is not a simple thing. –  Oded Feb 27 '12 at 14:08
2  
Probably your basement, or another cool, dark, cave-like facility. –  Craige Feb 27 '12 at 14:42

1 Answer 1

I suggest that you start by specifying the objective and the platform you will run on. Then, move to the database design, to be able to manage appointments/events you need to consider how to deal with some challenges such as:

  1. You need to understand the difference between a personal calendar and a group schedular and decide which one you want to build.

  2. You need to be careful with Database design/model for handling the calendar/schedule. If you don't allow recurring events, it is not too complex, but if you do, such a model is difficult. Specially if you want to optimize performance and want to address options like first Sunday of the month, etc. One source for this information is Martin Fowler - Recurring Events

  3. You need to define how to specify events so that you make your application flexible, you can find ideas in MS-Outlook and Unix CRON command. You can also check out some of the sites and applications that provide this functionality such as YourAm and OnTimeSuite

  4. You could use 3rd party tools such as DevXpress. Such tools are very helpful in providing not only ideas for GUI but some also handle the recurrence issue. DevXpress in particular provide examples.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.