freecycle module

Forum topic

Freecycle module.

  1. Upload picture
  2. Send email out to people looking for crap
  3. They come to site, look at pictures, click on one they'd like
  4. Form displays (possibly with bigger picture)
  5. Asks for:
    • Name
    • email
    • comment
    • pickup availability
  6. user fills out form
  7. presses submit
  8. gets feedback (you are #1 requesting this item)
  9. emails me details
  10. stores item & email address in db
  11. configurable "not available" displays after x requests
  12. I can provide feedback on person requesting object

Perhaps later, we can do ratings on people (picked up promptly, took a while to pickup, never showed up).

Freecycle module

Details of idea/concept at
Four types of posts: offer, taken, wanted, received
This module will address offer & wanted, with taken
and received happening pretty much automatically when
the item owner marks the item as such.

See module start at

This will be a node based module, and not just a database
access. There will be some additional fields, but the
description, attachments, etc. will be controlled by the
node module. Using the node module so that we have
permissions, revisions, comments, etc.

Users must have an account to post items and request items.

Nominal workflow:

user1 posts an item,
user2 sees item post
user2 requests item
users 3 4 5 6 also request item
item is labelled pending
user1 sees list of users requesting item
user1 & user2 arrange pickup
user2 picks up item
user1 labels item picked up
user1 provides feedback on user2

alternately, user1 forgets to label item as picked up
after a week, it's automatically labelled picked up

Work on the offer/taken part first:

1. Post an item

name / title
category / keywords (see folksonomy note below)
image (optional)
receive email notice of requestors?
number of requestors (vals: 3, 5, 7, 10, 12, 15, default 5)

images image module or upload module, unsure which.
Should be easy to upload.
verify upload file is actually an image
Limit the size of the upload image
Resize the image to specific size, discard original
name and description are node information


2. User information

pickup location
best time to contact me
okay to share email address
okay/not to contact person for other reasons

this information might be able to use user module to define
(or might be the profile module?)
these fields, and just include them in the post
see for contact tab example


3. Request an item.

Phone number
Pickup availability

Requestor is logged in, in order to claim an item. As a
result, name and email address are available when item
owner sees list of requestors. Requestor can also provide
phone number, pickup availability and other comments.

After x requests, item is marked pending/spoken for.


4. Coordinating pickup

a. Owner looks at requestors:

Sees name, email address, phone number, pickup availability
(which in some way jive with own times), comments and user
rating (i.e. user has posted x items, user claimed x items
but never picked them up, etc.)

b. Owner contacts requestor, arranges pickup

Contact form triggers email conversation (i.e. send message
to requestor 2).


5. Mark item as taken

Item is marked as taken by owner. Can be marked at any point
(i.e. it doesn't have to be marked pending to be marked picked
up, and can be re-offered at a later date if not picked up).

6. View available items

With pictures or without
View list of titles

7. View recently posted items

view list of titles
View as block (with x entries) -> onthisdate tutorial example

Further enhancements:

1. Posting an item:

Send email to list
send an email to a mailing list associated with this item
(i.e. yahoo group for this freecycle group)

Limit who can request this item:

must have offered x items first
users with positive feedback (i.e. picked up when said they would)
anyone with an account
anonymous users

Time constraints

must be picked up this weekend,
going into the trash next week, etc.

Limit number of requests for item before it is automatically labelled
pending in

Okay to post on front page

Use default image for item (e.g. cardboard boxes)

2. Groups

Create freecycle groups for limiting geographic area of items


3. Use the folksonomy module for user defined vocabularies:

4. Provide feedback

Possible future enhancements:

Allow anonymous posting or requesting of items

feature where you can post to your local group. if it doesn't go in the local group, you can post to surrounding groups. automatic notify to surrounding groups, maybe

allows creating of groups of friends & if it doesn't go, offer it to community then city, surrounding cities, at large.