133866 Goal Sharing Web App Dev.

In Progress Posted Apr 24, 2007 Paid on delivery
In Progress Paid on delivery

Summary

GoalShare is a web application where users have the ability to share their goals with others, gather around shared goals, comment on those goals, and recommend and vote on resources in order to achieve those goals. Goals function as multi-word unique tags.

Technical Requirements

GoalShare should be coded in PHP5, use MYSQL for the database, and Apache as the web server. Javascript, DHTML, and AJAX can be used wherever necessary to provide the best experience possible to the user. It should be secure from all known security exploits in these technologies as well.

All code should be commented for future editing by me. I’m able to write/edit PHP, so it’s quite likely I’ll be editing code in the future.

Home Page

The home page of GoalShare is aimed at being inviting and getting people to get started submitting goals and browsing the goals and top resources.

The top of the page consists of the logo as well as links to login/logout, sign up, About, Contact, Top Users, and the Goalshare Blog.

There is also a Search field in the top right that does a simple keyword search across goal titles, resources, and comments to find matching phrases.

The page will be broken up into two columns.

Left Column

- A text input box to enter in a new goal (takes user to Goal submission page)

- A list of the most popular goals, ordered by popularity of number of people currently sharing the goal.

Right Column

- A list of the most popular recommended resources regardless of goal. Arrows to vote resources up and down appear to the left of each goal, and under each goal is a list of number of votes.

The footer will contain other minor links.

Goal Page

The goal page will really be the “meat” of the site. Like the front page it will be broken into two columns.

Left Column

- Name of the goal

- RSS feed next to it for both comments and resources

- Obvious link to “Share the goal” which adds the user to the list of users sharing the goal.

- Links under it to other related goals (share keywords, and admin interface allows for goal relating)

- Number of users doing goal as well as list of usernames doing goal with links to their profile pages.

- Link to Add Comment

- Comments from users down the page.

- Form fields to Add Comment

- RSS Feed for comments

Right Column

- List of top recommended resources for the goal with links to the actual resources themselves on external sites.

- Icon showing which category the resource is in (Web page, Video, Book/Ebook, Audio)

- Arrows to vote resources up or down based on user’s opinion.

- Number of votes listed underneath each resource.

- Username of user who submitted the goal.

- Underneath the resource list is an Add Resource Link that takes the user to the Add Resource page.

- RSS Feed for resources

Profile Page (Public)

Left Column

- Username

- Optional location, sex, and age display.

- List of goals they are currently sharing

- User comments down the page

- Add Comment form at bottom

Right Column

- List of resources they have added

- Number of votes underneath each resource

Profile Page (Private)

Same as the public page, except the top of the left column gives the ability to change your email address, password, age, sex, and location.

Goal Submission Page

When a goal is submitted from the front page (or through any other links throughout the site) it is taken to the goal submission page which does a pre-search through all the goals and displays to users any similar goals in case their goal is already there just worded differently. It also would show any goals that were assigned as “related” in the admin interface.

Add Resource Page

When the Add Resource link is selected from a goal page the goal information is saved and passed on to the Add Resource page. If the GoalShare bookmarklet is used so there is no chosen goal, allow user to do a keyword search that pulls up matching goals so they can select their goal. Then there are form fields to:

- Title of Resource

- URL of Resource

- Category of Resource (Web Page, Video, Book/Ebook, Audio)

- Captcha to prove user is human.

Page then shows a preview of the Resource they are submitting, and asks for confirmation. It also must check to see if the resource has already been submitted for this goal making it a duplicate resource. See the Digg implementation of this when submitting a story to Digg for an example. If the user then chooses to confirm it the resource is then added with one vote from the submitting user.

Top Users

A page displaying the top 25 users with links to their profiles as ordered by the total votes that their submitted resources have received.

Admin

Admin interface that allows for the following features:

- User delete/user ban

- User profile edit

- Resource delete

- Resource edit

- Comment edit

- Comment delete

- Banned URLs from resources (blocks resource submission if banned URL is used)

- Goal “relation” (allows us to specify that “invest in real estate” is related to “buy a rental house” goals)

- Mass user email tool

AJAX CSS MySQL Odd Jobs PHP

Project ID: #1880037

About the project

Remote project Active Jul 11, 2012