We need a website for our company.
The focus with this project will be on content management.
NOTE: No graphic design is required.
Once the website is running, we need to be able to update the front
page with latest news about the company. This must be done with a very
simple interface, through a passworded Administration area.
We also need an Admin interface that allows setup of passworded
"Client areas". The administrators will set up an area and any number
of logins. The client will be able to use these logins to access their
area. Administrators will upload files to there, and clients will
download them. This should all be very simple and easy to use for the
administrators and clients. For some areas, the administrators should
be able to decide which files each client can see (by assigning them
to groups, and maintaining group permission lists for each client).
See below for details.
We are flexible about the methods used to create the site. The content management part could be done with either 3rd-party software, or your own code, pre-written or from sratch, anything. Please state your preferred method in your bid.
1. Front page (public)
a) Blank area at top
b) Menu (contact / portfolio / about us / etc).
c) Latest news section
2. Administration area (private)
a) Passworded login
b) Add new admin logins
c) Create new client areas / Add new client logins / Upload files
into each client area
d) Create new contractor areas / Add new contractor logins /
Upload files into each contractor area
e) Create new 'file groups'
f) Assign any file in any area to one or more 'groups'.
g) Maintain permissions for each login to access any groups of files.
3. Company portfolio page (public)
a) Admin can create new (publicly accessible) projects, and upload:
b) These three things will fit into a simple page template for each project.
4. Client areas (private)
a) Admin create new client areas as above
b) Admin can create any number of new username/password logins
that can access each client area.
c) Admin can upload files to each client area.
d) The files can be 10-20Mb, so they must be able to be uploaded
without the browser or server timing out.
e) When uploaded, the files must be visible in a list, with the
i) Date/time uploaded
ii) Name of the file
5. Contractor project areas (private)
a) Same as Client areas, with the following additions:
b) When uploading files, the admin should be asked which group(s)
they should be part of.
c) When uploaded, the files must be visible in a list, with the
i) Date/time uploaded
ii) Name of the file
iii) 'Group' they are in
d) Only groups under the selected client area should be offered
for selection when uploading files.
NOTE: Each contractor area can contain files which are part of
many groups under that contractor.
Each contractor area may have several different logins, which need
access to different sets of groups of files.
Files can be part of more than one group, under each contractor area.
All files should be listed on one page.
example: Within Contractor area "A", there are two groups "G1" and
"G2". Login "bob" can see only files in group "F1", but login "bill"
can see files in both groups.
Rules to follow:
* All code must be well written, with sensible, meaningful variable
names and comments throughout the code.
* All code must be modularised and easily maintainable.
* Whichever coding conventions are used, they should be consistent
throughout the project.
* Duplication of code should be avoided.
* All code should be documented (inputs, actions, outputs).
* The overall operation and data flow of the site should be simply
documented, with reference to any advanced features of programming
languages used. Documentation only needs to be of a technical nature,
meant for software engineers.
* No graphic design is necessary. No fonts or other design should be
used (except possibly headings h1, h2, etc). Design using stylesheets
will be added by us later.
* Proper care should be taken to ensure passworded login systems are secure.
* Any software delivered should be either legally bought, open source,
or written by yourself.
These pages are all of a similar structure, with different features:
Portfolio page, Client area, Contractor area. So a general system
needs to be written that can be used for each of these different types
of content area.
I would expect to see regular progress reports, and the website
running on a test/development system.
Please ask me if you have any questions.