I am designing a website to connect two types of people:
1) People who play on adult ice hockey teams who often need to find a fill-in goalie or skater.
2) People who play ice hockey and like to receive requests from the first type of person so they can play for free.
The website needs to allow players to create an account to register to be one of the players. Once they have registered their name/email/phone/address/etc, they will be able to log into a main user page. This page will give them a few options:
1) Manage locations
----- These locations are the regions or cities in which they are willing to fill in at games; can choose many of these.
2) Manage positions and skill levels
----- The positions they play (Forward, Defense, and Goalie) and their skills at each position (A, B, C, and/or D; people can choose more than one position or skill for each position)
3) Update account information
4) View open requests in their locations or any other location (in case the person is on vacation, away for a week, etc)
----- Open request means a request for that location that occurs in the future as opposed to in the past
5) View OR CHANGE requests submitted by this person, both in the past and current ones
6) Create a request for a fill-in player
If a person needs to submit a request for a player, they can do it by creating/logging into their account as above OR:
--- I want people to be able to REQUEST fill-in players without registering.
When submitting a request for a player:
1) The requester picks the city or region (I have a list of these cities and regions; they are in the US and Canada) as well as the player types and skills they are looking for
2) The requester then is told whether there are any players currently available in that region
IF NOT: They are asked if they would like to submit their email address to be informed when players become available in that region or city
--- They then are told that there are players who may be available
--- They are given a form where they fill out:
------- the date and time (in a format the database can understand)
------- rink name, exact rink location, other details (whatever the person wants to write)
------- contact info for responding to the request (automatically filled out if the person is a registered user; either way they can change it if they want to for the specific request)
--- When they submit the form:
------- The database is updated with this latest player request
---------- Such that when players view open requests in their location as described above, this one will now appear
------- An email is sent from the server to all players with matching location AND position/skill
----------- This email includes all of the information about the game and contact info collected from the requestor as well as permanent link to view the request info on the website (e.g. [url removed, login to view])
------- A confirmation email is sent to the requester with all the info he submitted along with a permanent link to view OR CHANGE the request info on the website (note this requires some random key be generated so that only people with access to this specific link will be able to make changes to the request); if the person is a registered used, he can also change the request through his account page
I want the project completed with very clean code. If this project is successful (i.e. people use it), I will likely upgrade much of the features to make the site much more "social". For example, maybe I would build in the ability to rate players you've used in the past or keep track of who fills lots of slots, etc. Maybe also the ability to message specific people, browse players, etc. For now, I want to keep it simple but clean.
I would like the code to produce CSS-ready pages. In other words, I'm not concerned with the design you come up with, just that you use good organization and css divisions so that I can easily redesign the site myself.
Please contact with any questions. I have tried to be as thorough as I can, but perhaps I have left things out or been too specific/not specific enough...
23 freelancers are bidding on average $807 for this job
We are experinced with css+xsl+smarty so we can produce site code that keeps design separated from logic, ie you could easily change appearance without messing the code :)