This is for a Ruby on Rails project. It's required that you are SERIOUS with your Ruby on Rails experience and you work quickly. The design and development is nearly complete, however we require a few things to be added on. These things are:
1) Image uploads (up to 2 in one listing)
2) Private messaging within site
3) Dragging and dropping items into a basket that then shows a button to click which sends someone private message.
4) Fix the search engine
5) Properly paginate the friends area
6) Add admin/moderator logins (maybe, we'll talk about this)
For the most part, that's it. We need this done very quickly, in a matter of days (RoR is a rapid-development framework after all) and it's all simple enough to only maybe require a controller and model or two. We can take care of the views and page layouts. The working shell is really all we're interested in. Now, a lot more detail in each thing we need:
1) For image uploads, we already have something simple in place that allows a user to upload an avatar. However, what we're looking for is an extension to that which will allow a person to post something with a description and up to 2 images with it. You can leave what's already there in place and probably use the code that's already there to simply add on the rest. So, again, the user needs to be able to upload up to 2 images with a title, description, and category (that is all implemented, just the image attaching that needs work.) We want this done on the file system, and it should create a directory with the user's screen name. If my screen name is Tester1, uploading images should create a folder in /images/users/Tester1/ and then within that another folder with the ID of the listing.
2) Private messaging is pretty straightforward. Make a system that can send private messages within the site to other users, similar to MySpace, Facebook, this site, hell... pick a site. No huge fancy features necessary, just the ability to send a person a message and the other person receiving notification of it and the ability to reply. The user can also delete and forward messages. Again, profiles and support are all made, there's already a commenting/blogging system in place, and the DB is structured to make adding something like this as simple as possible.
3) This sounds more complex than it is, but it really isn't. The drag and drop is already set in place (via Scriptaculous library.) What we need is for someone to be able to see items the other person has as well as theirs. Let's pretend there are 3 boxes: Box A, Box B, and the Container Box. My box is Box A that has my items. Box B belongs to the user whose profile I'm viewing. If I see something that I like from Box B, I drag it and drop it into the Container Box. In return, I take something of mine to offer the other person (in the profile I'm viewing) as an exchange. Once the Container Box has at least ONE item from Box A and ONE item from Box B it will show submit button. Once that button is pressed, it'll show a full-sized image of each item that was placed in the Container Box, as well as a description of both. Then it'll have another button on the bottom that confirms the submission. What the submission does is send message to the user (can be done the same way as private messaging) showing both full-sized images and descriptions as well as who sent it. Not too tough, the controllers and views are already in place for the 3 boxes, and it already displays what it needs to display and allows for dragging and dropping, so the rest should fall into place.
4) We have two search engines in place. One is a live-search for something, the other is a search for user profiles. The live-search works, but the other isn't working fine. You can browse by sex, zip code, etc. and it's fine, but the search by string isn't working out too well. That needs to be fixed. It's all in place, so it may just even be a line of code that's off and we didn't realize. I'm sure this is a very simple fix.
5) When you view a profile, you can see how many friends a person has in their profile, and right now it shows up to 14 followed by a "view the rest" link. That link takes you to a new page which displays simply all the friends you have. I would like that page to paginate at around 50 people. So, if I have 300 friends, there will be 6 pages of 50 friends. That feature is already added (we're paginating at 5 people right now in development, you can continue doing that and we change it later) however the problem we're encountering is that even though it'll display "Friends 1-5 of 25 friends" and "Pages: 1, 2, 3... 5" and you can properly click through the pages, each page displays all 25 friends. We suspect the issue is in the partial that's being rendered using an "each" loop to go through the array and displaying everything. We need this fixed, also should be another simple fix.
6) We're implementing a forum in there so we would like certain users to be given moderator status by the sole administrator. Needless to say, we would need an administrator user as well. This administrator can do everything a moderator can do (create forums, delete posts, etc.) as well as assign/remove moderators. You can probably just add these login credentials and we'll tie them in to the forums when that's finished. You should actually be finished with all of this before we're done with the forums anyway.
All right, that's pretty much all the requirements.
We have a working prototype in development on our server that we would be able to show you if we feel you're a pretty good fit for this. Again, this is for SERIOUS programmers with Ruby on Rails experience. This should be completed in a couple of days (considering everything we have we did in like 2 weeks, this is a simple goal.) We've got a lot of stuff in place already.