I require a database management system to be built.
The database will be stored on a shared web server like hostgator or similar and will be accessed by the users via a desktop or laptop browser.
The software used to develop, manage and access the database must be free so I'm thinking something like MySQL/PHP. I am open to suggestions with this but whatever software/platform is used it must be industry standard.
I have created a basic database schema with all the primary keys and links to other tables. The schema is very basic but most table relationships shown are one to many. The data types are fairly self explanatory.
It is estimated that there will be 15 screens, approximately one per table (or table/notes paring).
The development of this project will be through prototyping so there will be quite a few screen and data redevelopments.
We will require all database system to be installed on the server we provide and we must also have the source code.
See the Detailed Requirements for full text.
## Deliverables
I require a database management system to be built.
The database will be stored on a shared web server like hostgator or similar and will be accessed by the users via a desktop or laptop browser.
The software used to develop, manage and access the database must be free so I'm thinking something like MySQL/PHP. I am open to suggestions with this but whatever software/platform is used it must be industry standard.
I have created a basic database schema with all the primary keys and links to other tables. The schema is very basic but most table relationships shown are one to many. The data types are fairly self explanatory.
Some of the tables have separate 'notes' tables where all new notes are added as new rows and some don't. I would like all tables to have separate 'notes' tables.
All rows in every table will have an added and edited user/date/time stamp.
There are three user roles; Administrator, Manager and User. These will determine which screens each user type can view, add, edit and 'delete' (hide/archive).
It is estimated that there will be 15 screens, approximately one per table (or table/notes paring).
For each table the data field will be shown instead of the id numbers. For example, in the job screen the company name will be displayed in place of the client_id.
The most important table/screen is the business_as_usual (bau). In this screen a Manager will create tasks by entering the following data (or underlying data):-
domain_id
anchor_text_phrase_id
user_id
task_id
quantity
frequency
period_id
due_date
When the User completes the bau task they will make one or more entries in the url_links table/screen/subscreen and click the 'completed' button. The actual_date is then programmatically entered and the system will create a new row in the table. The new due_date will be calculated as follows:-
If the business_as_usual.period_id type is 'days' and the [login to view URL] is 1 then one day is added to the actual date and this is the new due_date.
For all other scenarios the [login to view URL] times business_as_usual.period_id (for example 2 weeks) is added to the due date.
In all scenarios the user table is referenced and the due date is compared to the days that the User is working. If the new due_date falls on a non-working day, the due_date is rolled forward to a working day.
Each user can only see their own work.
There will be a diary or schedule screen where the User can see all their outstanding work in due_date order with the overdue work at the top.
We require some kind of ad hoc reporting system where we can choose the report and data to display.
The development of this project will be through prototyping so there will be quite a few screen and data redevelopments.
We will require all database system to be installed on the server we provide and we must also have the source code.
The database in the attached schema is only half the size of the completed system. When the system is complete we will white label it. This means that the successful bidder will get the work for the further development and may also provide paid technical support to our white label clients.