# Scheduling/calendering

**URL:** <https://www.ruby-forum.com/t/scheduling-calendering/136867>\
**Category:** Rails\
**Created:** [May 6, 2008, 11:55pm UTC](https://www.ruby-forum.com/t/scheduling-calendering/136867 "2008-05-06T23:55:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tim\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/90db22/32.png) [@Tim\_U](https://www.ruby-forum.com/u/Tim_U)\
**Post date:** [May 6, 2008, 11:55pm UTC](https://www.ruby-forum.com/t/scheduling-calendering/136867/1 "2008-05-06T23:55:49Z")

</div>

I want to write a scheduling application. Basically people are going  
to submit schedules like “every thursday from 3-4” or “mon, wed, fri,  
10-11” or something like that. I want to display the schedule on a  
calendar, allow people to edit the schedule or just one instance,  
compare the actual times worked to scheduled times (late, early etc).

I know somebody has already done this before so before starting I  
thought I would ask if anybody knows a project with a liberal enough  
license for me to plunder :).

Since I need to include this in an existing project I just want to  
take a look at how they stored the schedule, how they displayed it,  
how and when they materialized the events, etc. I don’t want to take  
the application as a whole and modify it.

Failing that does anybody have a link to some sort of a document which  
details best practices when it comes to scheduling?

TIA.

---

<div class="post-metadata">

**Author:** ![Tim\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/90db22/32.png) [@Tim\_U](https://www.ruby-forum.com/u/Tim_U)\
**Post date:** [May 7, 2008, 4:12pm UTC](https://www.ruby-forum.com/t/scheduling-calendering/136867/2 "2008-05-07T16:12:17Z")

</div>

I’m pretty sure there is a gem or plugin for iCal so you can get an  
idea of how they store recurring events. That might provide some  
inspiration, though it’d leave you with the task of interpreting iCal  
yourself if you want to render the calendar. runt and recurrence are  
a couple of takes on how to implement the recurring time patterns that  
Fowler identified a while ago. They’re gems and if you like either  
one you could create a db model to support the one you like. They’d  
probably make rendering the calendar easier for your site and you  
could decide to provide an ical mime-type if you wanted to support  
that, too.

Good luck.
