------------------------
Custom PHP Programming Services
------------------------
This is what I need:
General Description:
=====================
This is kind of an extranet, "manual" (for now) communication system, where
registered users (created by administrators) can access the system, request
information to providers, and then users will be able to look only at the
answered, assigned information to them.
Detailed Funcioning Process:
============================
The system is used for users to request certain types of info.
The provider receives notification of the users' request by email and have it
listed under a new requests inbox; the provider opens the requests, fill up
the response template with the requested information and sends it back to the
user.
User receives an email stating the request has being fullfiled, enters his
user-member area to view the list of new and previous requested information.
Users can keep track of the request status, sent or submitted, when opened by
a provider it status should change to: At work, when recieved: New, when
already viewed: read.
A search facility should be provided with results lisitng only items currently
available to that particular user on his requests Inbox.
If a user deletes a viewed request from his Inbox, it only deletes it from his
view, not from the global system, since Providers and/or Admins will need the
record for reports/billing purposes.
Structure / Interface:
======================
- Overall:
Easy to follow navigation system.
- User:
+ Inbox:
The user gets a list of requested info such as:
Request_ID | Status | Info_Type | Requested_Date | Request_Title | Delete
Listing by Request_ID but allowing to sort by clicking any other category.
If user deletes a record, in fact what it does it becomes hidden, not deleted.
Users cannot recover hidden (deleted) data, they don't know it's hidden; they
in turn will need to request this info again.
+ Information:
Information data is displayed when user clicks on any item listed on the
Inbox. This page should acomodate information in a clean easy to read way,
with an option to become printer friendly and to be sent to the printer.
Options to Delete, look next or previous records.
+ Requests:
User input required data and select the info type to be requested.
All Info Types are requested by default.
+ Search:
User input required data to be searched, results from info listed on users' inbox.
+ Properties:
Users info and interface properties, some listing info here is non editable,
some other it is.
Non Editable
Name, Last Name, email, company, username (should be user's email for
validation), telephone, extension, fax.
Editable
Password, alternate email, number of items to be displayed on a single listing
page (the rest by clicking Next or Previous), MSN, Yahoo.
- Providers:
+ Inbox:
Display a list of new requests. When clicked on an item listed here, provider
is prompted to a form to be filled out with the information requested by user
and submited back to the user, when finished.
+ Information:
Same as user interface, but with option to select which user's data to look
at, or to have all records displayed. Can not delete or hide info data.
+ Reports:
Generate reports of information requests for certain user or group on a given
period of time, to be displayed on screen with option printer friendly and to
be sent by email as a pdf attachment to the user the report was created.
Option to include or select the recipients should be available if
requested/required.
+ Search:
Same as user interface, but with option to select which user's data to search
for, or to have all records searched.
+ Properties:
Can select to view any user's properties, but can not edit any of it.
Can edit own provider info and interface properties, all options here is editable.
- Administrators:
+ Unlimited access to view and edit all system options, users and providers
accounts.
Main Groups:
============
- Administrators: Global Administration, can view all users accounts; can
create, suspend or delete groups (companies users belong to there might be
several users from a single company), users, providers and administrators
accounts; assign costs for type of information provided; generate and sent
reports (statements, group reports should also be considered)
- Providers: Asnswer users requests, generate reports and billing of requested
and provided (answered) information including the total costs for that report.
Reports should be generated for a specified time range, and can be sent by
email to the user (attachment as pdf), provider and administrator. This report
might have an option to become also a billing statement so a nice format
should be created as well as capacity to generate them as a pdf file.
- Users: Regular users who request info, can view, search, print friendly, and
delete (only if previously viewed) info.
Special Requirements:
=====================
- Security is a must.
- Modular programming, allowing future scalability and new features (modules)
to be added. (future programming work to you).
- Allow modules to be easily plugged in.
- Work under http and https.
- Template system, allowing design being separated from coding, for easy
integration into a constantly changing website.
- Full Source Code, throughly documented for easy future development and
maintenance.
More detailed information can be provided when needed.
Please take into consideration this will be our first development system we
may hire with you, and may also be the reason to request you some more.
Great expectations are set in us to deliver this system, and we in turn are
setting high expectations on getting a high quality product.