We require a new administrative backend (built from scratch, not as an addition to the current backend) to an existing expert exchange type website with the following functionality: (the front end currently exists and operates)
You need to build:
Ability for users to register (including building the registration page), with standard registration fields similar to a forum, complete with email address verification as part of registration.
User levels created for project should be:
Once verified, users should be granted 'New' permissions.
NEW USERS FUNCTIONALITY:
New users should be able to administer their personal profile, and also able to submit questions and answers (they should only be able to answer their own questions) using a WYSIWYG text editor for the question body, with ability to upload images to their answer as required. Required fields for all answers are: Question, Answer, Keywords & Category (Categories are from pull down list, where category table already exists in DB). The question & answer, along with other details, including user's username, email address, date, should be written to a new table created as a holding area. Admin & Super Admins should be able to see this holding area, review/modify questions/answers, and approve/reject/delete the entries. If approved, the holding data should be copied to the live table (which currently exists, but needs a few fields added to it), which is what is currently posted to the live website. If rejected, the admin should be able to add comments to the users original post, and the response & original should be sent back to the user for further modification or removal by the user, to re-submit if desired back to the holding area.
Super admins should be able to modify user information, and set permissions for other users.
Once a user has been granted New Contributor status by an admin/super admin, they should be given access to be able to see a list of pending questions (you need to buld the 'pending questions' page, where the table already exists,they should be able to accept questions from this list. Once accepted, no other users should be able to accept the question. The question should be marked in the pending table as 'in progress by: username' and this question should become property of this user to answer as though it was their own. Using same criteria as above. The original details from the pending table, including the name & email of the person who asked the question, should remain as part of the record, and transferred along with the answer through the various steps & tables. Only an admin/super admin should be able to edit these details if required. Once a question is in progress, that user should be able to save their response, and continue working on it over multiple sessions as required. Once complete & submitted it should be copied to the holding area & approval steps as above, but if the admin should have option to approve/reject/delete or return (return should only be on answers from users on questions they did not create in their own user area) If return is selected, the original question should be sent back to the pending list, and this user should not be able to accept it for answering again, only other users should be able to accept it.
Once a user has 10 admin accepted postings, which would then be in the live site table, they should be marked as Regular Contributor, at 100 postings, they should be an Expert.
Once a question/answer has been approved by admin, the user who answered it should see that question in their user area under 'Contributions', and they should be able to make modifications to their answer at any time. The modifications should be copied to a 'modified holding area', where an admin/super admin can approve/reject them, if approved, it should be posted to the live DB, if rejected, the modifications should be deleted, leaving only the original record posted in the live DB. This modified holding area should be accessed by the admins through a different page as the regular holding area noted above. Modified messages are treated differently from new messages.
Admin/Super Admin should also be able to submit their own questions & answers, which should be posted directly to the live DB, with no approval required. They should also be able to accept questions from the pending questions list, and their response again should be posted directly to live DB, when submitted.
Super admins should be able to see a listing of all other users & number of posts, along with an 'earnings' field in the list. When clicking on a user from this list, the admin should see details such as each post from that user, listed by month, or specified date range, showing question only. If admin clicks a specific post, they should see the details for that record (answer, date etc..) and the admin should be able to edit anything in the post if required, posting any changes directly to the live table.
Super Admin should be able to input a global dollar amount in an 'earnings' field in the main settings of the admin panel, this amount should be divided by the total number of posts in the live DB to calculate a $/post figure, and this amount should be multiplied by the number of posts for each user, and each users earnings should be displayed next to their name in the list above.
Each user should also see their 'Current Monthly Earnings' in their user profile area.
The 'user earnings' should not be stored in a DB, but just calculated upon each request by multiplying the number of posts for that user, but the $/post as determined by the total 'earnings' entered by the super admin.
At the end of each month, the super admin should be able to store user earnings by entering a final monthly amount in the 'Earnings', which should then be divided by the total number of posts in the live DB creating the $/post amount, and then multiplied by each users number of posts, and written to the DB as monthly earnings for each user. Each user should be able to see their own personal earnings history listed by year/month. Super admin should be able to see all users monthly earnings history.
Some of these tables already exist, I will supply phpmyadmin access to them for any field modification required. Also, the site front-end already exists, to display records from the 'live post' table, and should not require any adjustment. This work is just limited to the backend of the site. The only non-user area that will require construction is a user registration/login page or php code to add the login/register link to the existing site. There should also be a password recovery for 'forgot password' as part of the login area.
There will only be 1 login area, and what is displayed in that area should depend on the users access level, from super admin to new users.
The area should be well laid out, and easy to navigate through the various functionality, for the various user levels. There may be other functionality required, ask any questions that you feel may help you formulate a bid.
ESCROW will be 10% upon selection 25% upon a partially working sample & layout, 35% upon a fully functional sample posted, and the final 30% upon completion
DO NOT BID IF YOU DO NOT AGREE TO ESCROW!