# First Rails project: input welcomed

**URL:** <https://www.ruby-forum.com/t/first-rails-project-input-welcomed/51914>\
**Category:** Rails\
**Created:** [January 9, 2006, 6:32am UTC](https://www.ruby-forum.com/t/first-rails-project-input-welcomed/51914 "2006-01-09T06:32:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tim\_Wilson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/df705f/32.png) [@Tim\_Wilson](https://www.ruby-forum.com/u/Tim_Wilson)\
**Post date:** [January 9, 2006, 6:32am UTC](https://www.ruby-forum.com/t/first-rails-project-input-welcomed/51914/1 "2006-01-09T06:32:31Z")

</div>

Hi everyone,

I’m working on my first Rails project and I’d like some input before  
I get started coding in earnest. My previous Web app development  
experience has been in standard Python CGI and Zope. I’m here to find  
out more about Rails.

I work in technology in an average-sized school district (8,000  
students) in Minnesota (USA). One of the problems in our elementary  
schools (students aged 5-12) is that teachers in different schools  
don’t have an easy way to send quick little messages (via email) to  
colleagues in other buildings who may teach the same subject.

A first run at this app would have three tables: messages,  
staff\_members, and a join table staff\_members\_messages to fix the  
many-to-many relationship. I’ve posted my preliminary SQL schema at:

[http://homepage.mac.com/tdwilson/.Public/ideablaster\_sql.html](http://homepage.mac.com/tdwilson/.Public/ideablaster_sql.html)

(If you take a look at the SQL, you’ll notice that I am envisioning  
adding attachments and comments to the messages.)

You can see a screenshot of the current CGI version at my blog:

> **[Welcome technosavvy.org - BlueHost.com](http://technosavvy.org/?p=360)**
>
> Bluehost - Top rated web hosting provider - Free 1 click installs For blogs, shopping carts, and more. Get a free domain name, real NON-outsourced 24/7 support, and superior speed. web hosting provider php hosting cheap web hosting, Web hosting,...

Here are some of the issues I’m pondering at this point:

1. I think I’ll need classes called Message, StaffMember, Comment,  
and Attachment. I’m not sure what kind of controllers I’ll need. I  
think I’ll need a management interface to modify staff member  
records, delete messages if necessary, edit comments, delete  
attachments, etc. Users will need to be able to send messages and  
search previously sent messages. Unfortunately, I don’t think I’ve  
fully grasped the MVC pattern.

2. I’ve got a staff\_members table with email addresses and  
(effectively) boolean fields that record which school(s), grade(s),  
and subjects that the teacher teaches. I want to allow anonymous  
browsing of previously sent messages, but I need our teachers to log  
in to be able to send them. I’d like to authenticate them to our LDAP  
server, but I’m not sure how to do that with Rails.

3. I think it would be cool to use AJAX to build the interface for  
attaching files. I’m envisioning an “add attachment” button that,  
when pressed, would cause the file upload form element to appear  
along with a “+” for adding another attachment. I think this will  
certainly wait until I have a functioning system.

All in all, I have a good sense of how this app should function and  
look, but I’m obviously lacking in experience with the Rails part.  
I’d appreciate any advice. If anyone on the list is interesting in  
working on this project with me, I’d appreciate the help. I’m sure  
that many other school districts would be interested in this  
application too, and I would like to make it available with an open  
source license once it’s finished.

If you’ve gotten this far, thanks for reading. I’m enjoying Rails so  
far and I can see that there’s a pretty dynamic Rails community that  
has sprung up.

-Tim

–  
Tim Wilson  
Twin Cities, Minnesota, USA  
Educational technology guy, Linux and OS X fan, Grad. student, Daddy  
mailto: removed\_email\_address@domain.invalid aim: tis270 blog: [http://technosavvy.org](http://technosavvy.org)

---

<div class="post-metadata">

**Author:** ![Tim\_Wilson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/df705f/32.png) [@Tim\_Wilson](https://www.ruby-forum.com/u/Tim_Wilson)\
**Post date:** [January 9, 2006, 6:46am UTC](https://www.ruby-forum.com/t/first-rails-project-input-welcomed/51914/2 "2006-01-09T06:46:53Z")

</div>

I don’t want to dissuade you from learning rails or anything, but it  
seems like this problem has probably been solved several times already.

Perhaps you just need something like one of the various open source  
forums like phpBB or eBlah ([Www.eblah.com](http://Www.eblah.com)). Properly configured I would  
bet that those would meet most of your needs out of the box.

You could also try using basecamp. I seem to recall that they give some  
sort of special deal for schools.

Tell 'em I sent ya.

> **[Project management software, online collaboration](https://basecamp.com/?referrer=dukeplasticsurgery)**
>
> Trusted by millions, Basecamp puts everything you need to get work done in one place. It’s the calm, organized way to manage projects, work with clients, and communicate company-wide.

\_Kevin

---

<div class="post-metadata">

**Author:** ![Tim\_Wilson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/df705f/32.png) [@Tim\_Wilson](https://www.ruby-forum.com/u/Tim_Wilson)\
**Post date:** [January 9, 2006, 7:22am UTC](https://www.ruby-forum.com/t/first-rails-project-input-welcomed/51914/3 "2006-01-09T07:22:40Z")

</div>

Tim Wilson wrote:

> Hi everyone,
> 
> I’m working on my first Rails project and I’d like some input before  
> I get started coding in earnest. My previous Web app development  
> experience has been in standard Python CGI and Zope. I’m here to find  
> out more about Rails.

Hi Tim, this sounds like an excellent idea for a Rails app. Being a  
newcomer myself, can’t help you much with your questions, but seems like  
your’e on your way. it might be very helpful for other newcomers if you  
documented your progress as you went along.

cheers,

Amr
