172484 Discussion forum PHP/MySQL

IN PROGRESS
Bids
0
Avg Bid (USD)
N/A
Project Budget (USD)
N/A

Project Description:
Discussion forum PHP/MySQL/IIS Server

General specifications

The idea is to have a simple discussion forum, with an easy and simple user interface for all kind of users, the ones familiar with the discussion forum we find on the Web and the ones who haven’t seen one.

3 levels:
-The group:
The group is used to classify the messages of the discussion forum.
The group is a simple title (text).
-The topic:
A topic is part of a group.
The topic can be a question or a simple title.
-The message:
A message is part of a topic.
The message can be a response to the question or just a message in the topic.

3 kinds of people:
-The users, they can:
o Create a group if option enabled.
o Create a topic if option enabled.
o Create a message.
o Choose to receive an email alert each time a person (except the person itself) posts a message in a topic, if option enabled.
-The guests, they can:
o Create a group if option enabled.
o Create a topic if option enabled.
o Create a message.
o Move a message to another topic (existing or not) if option enabled.
o Choose to receive an email alert each time a person (except the person itself) posts a message in a topic, if option enabled.
o Archive a group (with all the related topics and messages) if option enabled, when archived the users and the guests can not see it anymore.
o Archive a topic (with all the related messages) if option enabled, when archived the users and the guests can not see it anymore.
o Archive a message if option enabled, when archived the users and the guests can not see it anymore.
-The administrators, they can:
o Create a group.
o Create a topic.
o Create a message.
o Move a message to another topic.
o Archive a group (with all the related topics and messages), when archived the users and the guests can not see it anymore.
o Archive a topic (with all the related messages), when archived the users and the guests can not see it anymore.
o Archive a message, when archived the users and the guests can not see it anymore.

Admin page:
The admin page should allow us to define the discussion forum settings:
-Open/Close forum.
-Specify if the user can create a group or not.
-Specify if the guest can create a group or not.
-Specify if the user can create a topic or not.
-Specify if the guest can create a topic or not.
-Specify if the guest can move a message to another topic.
-Specify if we activate the alert email option for users or not.
-Specify if we activate the alert email option for guests or not.
-Specify if the guest can use the archive option (to archive groups, topics and messages).
-View/manage archived data (group, topic and messages) with possibility to delete an archived group/topic/message.

Constraints
-The discussion forum should work on IE, Firefox, Netscape and Opera browsers.
-Your have to use the table structure provided. I have attached the SQL code to create the tables (RTF file) and the diagram of these tables (PDF file). Of course you can add more fields in the existing tables if requested. Please check with us if you need to create more tables.
-Respecting the fields’ nomenclature (See the fields’ name in the tables).
-Please comment your code as much as possible.


MySQL tables
-There is only one external key in the provided tables: USR_ID, which corresponds to the key of the user table.
-t_discussion_forum_dfr is the main table, with the discussion forum settings.
-t_discussion_group_dgr is the table for the groups.
-t_discussion_topic_dto is the table for the topics.
-t_discussion_message_dme is the table for the messages.
-t_discussion_alert_email_dae the table for the email alerts. If the user wants an alert for a specific topic, we save the DTO_ID only (not the DGR_ID). If the user wants an alert for an entire group, we save the DGR_ID only (not the DTO_ID).

Skills required:
Anything Goes, MySQL, PHP
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.