Need a simple login and record management system built. user logs in and is presented with a control panel to edit and delete their listings (material requests and material listings). if the user doesn’t have an account they can signup for one, once signed up they’re logged in automatically and can post listings and requests. have to be logged in to post listings. need forgot email functionality to email password to user. bulk image uploader functionality added to one form. all fields should be tied to javascript validation using jquery validate.
need a superuser account to be able to add, edit and delete user accounts.
register.php
——————————–
fields:
first name
last name
email
company
password
address_street
address_city
address_state
address_zip
newsletter (yes or no radio button)
action: user fills out form – their info is added to the database and they are logged in. the system should send an email to the user with account details (will chat about which fields and message to be sent)
login.php
——————————–
form fields:
username
password
this page needs a mode to send user a forgotten password.
action: user clicks ‘login’ and the systems checks username and password, if a match redirect to cp.php – if not prompt user to reenter credentials. if user has forgotten password they can click “forgot password” and they will be sent a
cp.php
——————————–
description: page for user to view edit and delete their material requests and material listings
- list all material requests (type = ‘request’ in table listings) associated with user id logged in – list in reverse chronological order
- list all material listings (type = ‘listing’ in table listings) associated with user id logged in – list in reverse chronological order
- edit and delete functionality for all records.
- never actual delete on record – just set `status` to “CLOSED”
add.php
——————————–
description: to get to this page the user clicked “add listing” or “add request” in their control panel, they are presented with a form to add a new record depending on the mode…
- two modes
1. material listing
fields:
id
type (“LISTING”)
status (“OPEN”)
quantity
date_listed (now())
location
headline
description
in this mode the user needs to be able to batch upload multiple images (save path to each in table `images` as separate record tied to listing_id. max of 10 images per listing.
2. material request
fields:
id
type (“REQUEST”)
status (“OPEN”)
quantity
date_listed (now())
location
date_sample
date_delivery
headline
description
edit.php
——————————–
– page for editing records
delete.php
——————————–
- page for setting records to `status` to “CLOSED” – *WE ARE NOT DELETING RECORDS JUST MARKING CLOSED.
logout.php
———————————–
- log user out and terminate session
account.php
———————————–
- logged in user can maintain their account information (all fields in table `users`)
admin.php
———————————–
- if superuser logs in (level=4) redirect to this page and present a list of all users and links to edit or delete each.
(firstname lastname – company edit|delete)
- we will actually delete record when delete is clicked on this one.
* views:
material_listings.php
——————————–
SELECT * FROM `listings` WHERE `type`=”REQUEST” AND `status`=”OPEN”;
- list all images (from table `images`) associated with the record
- loop and echo all
material_requests.php
——————————–
SELECT * FROM `listings` WHERE `type`=”LISTING” AND `status`=”OPEN”;
loop and echo all
database structure:
table `user`
id
level [1 (normal user) or 4 (superuser)]
firstname [string]
lastname [string]
email [string]
company [string]
password [store encrypted (MD5)]
address_street [string]
address_city [string]
address_state [string]
address_zip [string]
newsletter [string]
table `listings`
id
type : [string] | “REQUEST” OR “LISTING”
quantity: [string]
status: [string] | “OPEN” or “CLOSED”
date_listed: [date] | MM/DD/YYYY HH:MM
location: [string] 255 characters
date_sample: [date] | MM/DD/YYYY
date_delivery: [date] | MM/DD/YYYY
headline: [string] 255 characters
description: [longtext] 1000+ characters
table `images`
id
listing_id [int]
path [string]
Files can be delivered as ‘vanilla’. All output should be semantic and div based – no tables for non tabular data. Development will be done on our server, we will setup mySQL DB (and phpmyadmin), FTP and a folder with appropriate permissions to develop in. Upon selection of programmer we will have a google chat or skype to go over all needs above in detail. We have a working version of the site in .net and just need the login and listing functionality ported over to our php server. We ask that you update us nightly on status of project.
Please post all questions to the PMB, along with 1 or 2 examples of php work… Looking forward to a great and fast moving project!
Timeline:
Delivered by 9/18/2009 10AM (GMT -5)
Thanks,
GloboCorp