Last night I was a bit restless so I got up and decided to start breaking the grubfi.com project down in to pieces. I came up with four major areas that will need to be developed:
1) User Management: Since the point of the site it to let users add new locations and submit comments/reviews it’s necessary to have people register as users to help prevent and control abuse of the site.
- Registration Form: This should be pretty self explanatory, but its the form that is filled out to request a username and password on grubfi.com. Once the form has been properly filled out the data will be stored in the database as a registration request and an email will be sent to the email address supplied to the user.
- Registration Validation: When the user receives the email they will be instructed to click on a link to activate their registration. At that point they will be a valid active user on grubfi.com.
- Login/Logout: The code that validates users and sets a cookie on their browser. In the logging out process the cookie is unset and the user is no longer logged in.
- Lost Password: Inevitably a user will forget their password so a script must be provided for either retrieval or resetting of a users password.
- Edit User Information: Change of password or email. Also the editing of any user profile data that I might add.
- Upload Avatar: I am still up in the air about this and it kind of falls under user information, but uploading images has it’s own set of problems and risks.
2) Location Data: Users will be able to add, edit and comment/rate locations in the grubfi.com database.
- Add a Location: This will be a form that will ask for all the information needed to add a location to the database.
- Edit a Location: The location data will be editable by users so if something is inaccurate or has changed it can be edited by any user. That being said there will be a level of version control so that if needed the entry can be rolled back to a former version.
- Upload Images of the Location: Unlike avatars this feature will definately be included.
3) Comment/Rating System: The point of grubfi is not just to list locations, but to also provide a method of determine which locations are of what quality. The best way to achieve this is through a user comment/rating system.
- Add a Comment/Rating: This will likely be a simple form with a choice between 1-5 stars with a comment box. Comments will be required.
- Rate a comment: I am not sure if this is needed or how I will implement it. I kind of like the slashdot.com karma points system.
- Rate the Commenter: Again not sure if this is needed, but it does add an interesting aspect of community moderation
4) Search: So what good is all this data if you can’t search for what you are looking for.
Well, that is what I have so far…. more to come.
– Jeremy





