Easy PHP/Perl webapplication

This project received 46 bids from talented freelancers with an average bid price of $1663 USD.

Get free quotes for a project like this
Project Budget
Total Bids
Project Description

You will be making a Perl or PHP application with mysql support for

managing projects. All forms and lists from this application have to use

ajax (we do not want to have full page reloads).You are free to design

the mysql database the way you think it's better for the project.

The application will work in the following way:

1) New projects have to be added to the system with the following fields:

Project name, Time Estimation, Function, Set of project steps, Assign Email, Project Leader,


2) The Function,Set of project steps, Assign email and Project Leader are

pulldown menus witch means that we will need to have a simple web interface

to make basic create-delete-modify operations to each of them. For emails we

also need a way to add multiple emails in bulk. The Description will have to use

a html text editor like tinymce.

3) A special procedure we have for the "set of project steps", this is basically

a named list of steps that we have to take for a project like for example:


"General projects steps" is the name of the set and actual steps may be:

Owners order [add][delete][edit]

Project spec [add][delete][edit]

Review owner [add][delete][edit]

Prototype [add][delete][edit]


you notice the buttons we will need to add/delete/modify each step in that set

of steps.

4) Next you will have to implement a screen that is displaying an overview of all

projects and for each project we will display the following information:

Project leader, function set, email, Total steps, current step, time spend,

money spent, Action required by, Standstill, Waiting time int., Waiting time ext

and a link "go to project","move to archive". We need to be bale to sort the list

by any field ascending or descending.

Here you will get a few details about each field:

- Project leader: this is the person that is responsible for the project

- Function: this is the project function (it will be taken at project creation

from the pulldown menu)

- Set: this is the assign set for that project, this is to know

what steps we have to take for that project

- Email: this is a very important part of the application, each project

will receive its own emailadress like project1234 at We will generate

500 emails in advance and when we add a new project the pulldown will display

the list with the 500 emails and we should be able to select an email from the list.

Reason for that: the emails for that project will appear automatically into the

application and we will have everything in one location, the parties involved in

that project will be able to use there own email client and not have to learn

to use any new application to collaborate with us. This means that all email

communication regarding this project will be sent to the project email address and

you need to implement a cronjob script that will pop that email account and download

all the emails into a mysql table. Take care about this part because it means that the

web interface must be able to open emails in different formats like text, HTML, with

attachments etc. (so you basically have to implement a full webmail client

application inside the project, but you will probably find some perl or PHP modules

that will help you in making this). Also a new email changes the status of the project

because the action from the other party is required, so the email is a trigger,

it is like in a chess game, where the clock runs for each party.

- Total steps: number for the steps for that set + the custom steps, it give and

overview of the total steps we take for that project

- Current step: it gives the name of the current step we are on right now

- Time spent: the time it takes since we created this project

- Money spent: the amount we spent until the "Curent step", this will be set manually

from project edit page

- Action required by: this show who has to take the next step, the project leader

or the party that will actually implement the project and it is controlled by the emails

that are send by both parties involved

- Standstill: it is when on a project for 48 hours none has done anything, means no

email activity for more then 48 hours. The standstill can be overwritten by ETA.

This is an alarm for the projectleader.

- Waiting time int./ext. => the total time it takes for a project leader (internal)

or for the party that will make the implementation (external)

- "go to project" link will open the projects details for that project, see bellow

- "move to archive" link will open a javascript link that will allow us to move a

project to the archive. The Archive will babisvaly look the same as the main list

except it will have a link "Reactivate" that will allow a project to be restoted from

archive and sent to main list.

5) Project details page will contain again the following fields:

Project leader, function set, email, Total steps, current step, time spend,

money spent, Action required by, Standstill, Waiting time int., Waiting time ext

- then under this we will have a list with all the Actions taken for that project

(This is actually the emails sent/received for that project, so this part is the email

client we talked at step 4)

- Under this we will have this project steps displayed in the following way:

steps that are already completed will appear in a green box, the current step in

Orange and the steps that are not started will have no box at all. Also from this

section we should be able to add a custom step for this project like for example:

"Review needed by tehnical consultant X".

- Next in the same page we will have the form for sending a new email for this

project, this will contain: a field "Email to" (and also the system should display a

pulldown with all the emails for that project and we should also have the option to

select an email from the list and not just type an email manulay), the Body for

the email, text only, and 2 buttons: "Send and stay in step" and "Send and next step".

From this we can actually set the next step for a project.

- Next part is a button: MAKE SUBPROJECT this will lead to the same new

project form as for a normal project except that this project will be marked as a

subproject for the main project.

- The last part is a section where we could upload files to this project, it will

dispay a form that will allow is to upload files and also a list with all uploaded

files with a delete link where we could delete the uploaded files.

So basically the application will contain the following sections:

1) Add/edit project

2) Projects overview list

3) Archive

4) Project details

5) Function,Set of project steps, Assign email and Project Leader editors

6) Email client (display emails and send emails)

7) Cronjob that will pop emails for each project and insert it to a mysql table

and save attachments on disk (the email attacments will not be inserted to mysql)

We will have no login screen, the users will login using normal apache autentification,

the application will be installed into an apache folder that is alredy

password protected. All tables that will display lists of data must allow us to

sort it by any of the fields and this should be made using ajax.

You will get more details regarding each screen of this application

once you begin the work.

Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online