The basic flow of this site goes like this: student finds website, student signs up for class, reads 10 chapters of text, takes a quiz after each of the 10 chapters then is presented with a payment screen, paypal is used to facilitate the transaction, upon successful payment, the student takes the final quiz and the results including some specific student data are sent electronically using the POST command to a 3rd party to verify the students identity and a result is sent back via the same method from the 3rd party. All of this information is written to the database.
Here are the enhancements we'd like to add to our current site:
- Database encryption (we need to make sure all of the student information sits in the database in encrypted format)
- Currently the site has only 1 version of the classroom text (10 chapters of text, basically 10 HTML pages), going forward we will require multiple versions of the text, basically cloning the existing text and adding a few enhancements to the classroom text for students who fit the criteria for this alternate version of text. So the current site will need to be modified to allow for an additional set of classroom text. I was thinking of just copying the 10 HTML files which contain the text then just calling the actual file name based on a variable in the database. So if student1 needed version 1 of the page, they'd get [url removed, login to view] and if they needed version 2 of the text, they'd get [url removed, login to view]
- We need to add the ability to generate a certificate of completion using dynamic data in the database, convert that certificate to PDF on-the-fly and also the ability to fax that document automatically to a predetermined # in the database, then write a record to the database indicating whether or not the fax was successful to that student's record. We will also need to ability to initiate this faxing process on-the-fly for any students record.
- We need to add 2 verification pages for the student to verify/correct their provided information, once at the time of registration and once again right before they are required to pay for the course (after 10 chapters and right before the final quiz.)
- We need to create a separate login page that will give admin users the ability to see student info however the info each admin user is able to see needs to be limited by a field in the database. So admin user 1 can see all student's info in the database that has a value of 'a' in a set field. Admin user 2 can see all student's info in the database that has a value of 'b'.
- We will need to add the ability to start a timer each time a students starts a new chapter that will prohibit them from advancing to the quiz portion of that chapter until a set amount of time has passed (10 minutes per chapter)
- Currently there exists an extremely simple script that pulls quiz information from a database, scores the quiz then allows the student to continue onto the next chapter given a successful pass rate of 80%. We will need this script modified to include a separate question that will always need to be answered correctly in order to continue as well as the remainder of the quiz pass with 80% or better.
You will need to be available via SKYPE throughout the duration of this project, you will also need to be available for subsequent changes to the site at an hourly rate for work. Must have experience sending and receiving database data to external servers via POST or similar method.