Closed - This job posting has been filled and work has been completed.
Quick Overview: I need a jQuery expert for an interactive exam building script that I've created. This isn't that complicated of a script, but it requires a pretty good understanding of how it will function to create (once the base of the script is created you should be able to copy/paste/modify code for the additional sections). Please read everything before applying. I can probably explain it very easily over a quick skype call, but I'll start here.
To start, ANYTIME data is added or edited (in ALL circumstances) it will be done through a modal window (maybe just jQuery UI?). Once the user clicks "save" it should post via AJAX to a PHP script that will save the data into a database. Once the data is saved, it should be updated on the page without the page being refreshed. Don't worry about saving any data to the database; just leave room in the code for me to easily edit it to call a PHP script (for saving and updating). I can send the data back via JSON or array; you're choice.
To start, the exam can have 4 possible "sections":
-Document (Everything will fit "inside" of the document - there can only be 1 document)
-Page (A page will only fit "inside" of the document - a page is a child of the document - there can be as many pages as the user desires)
-NR Section - Numerical Response Section & MC Section - Multiple Choice Section (A "NR" or "MC" section will only fit "inside" of a page - a "NR" / "MC" section is a child of the page)
Please refer to the attached file "field_texts.pdf" to see the properties for each section (these will be the properties that are displayed on the right hand side and used in the modal forms whenever the section is edited/added).
There are 2 columns on the page (left and right). The left hand side will be a visual representation of the exam they've built. The right hand side will show the properties for whatever section is currently selected (in this example, a NR - numerical response - section).
When the user first visits the page they will be presented with a blank document (the left hand table will be empty - with the exception of the "Add Page" button), and the right hand side will display all of the options for the "Document" (All options are detailed and explained in the attachment). The user can click "Edit Now" if they want to edit the properties for the "Document".
Now that the user has updated the properties for the document, their only option is to click "Add Page". Once they click "Add Page", a modal box for the properties of a "PAGE" will appear. Once they add a page, the page should be displayed on the left hand side and the options for the page (with the data they just entered) should be displayed on the right.
Now the user has 2 options; they can add another page or they can add a "NR" or "MC" section to the page they already created. Adding an NR or MC section will function the same as adding a page (a modal box will appear with the options, and once the user clicks save it will be added to the left hand side visual representation and the right hand side will be populated with the data).
At any time the user can click on a section (on the left hand side) that they've added and the right hand side will populate with the properties (grabbing the data via ajax). Whatever section they click on should be highlighted. The user should be able to re-arrange (drag and drop) the pages (by changing the order) or the MC/NR sections (they can also drag an MC/NR section onto another page if they want). Anytime a drag and drop has occured it should trigger an AJAX call to update the database.
The only "kicker" is for the "NR" section, a user can also manage "questions" (which will be displayed on the right hand side below the properties). If they click "Add Question" a modal box will appear. When they click save, it will save to the DB and the table will be updated via ajax to show the question. Each question can also have an unlimited number of categories (the user just clicks add category). The user can edit/add as many categories and questions as they'd like.
The user can add as many pages or sections as they'd like.
I think this page sounds a lot more complicated than it is. As I said, I think I can very easily and quickly explain this via skype. If you feel you're comfortable with this project, please apply!