At its most basic level, this business is very simple. Some users create exams and other users take the exams.
The goal of this application (tentatively called 'Know-itall') is to create a business providing online education system where the exams are created by the users themselves.
Phase one will focus primarily on providing a platform for young students.
Hello coders, thanks for reviewing this project. I strongly encourage you to make an offer, we will be selecting someone to go ahead and we're really excited about this project.
With a view to building the user base and the course content, the site will initially be free.
Revenue will be created through Google advertising together with income from the associated smartphone application that will access the same database of content (the smartphone app is not part of this project).
The business will be referred to in this document as 'Know-itall' this may change during the development process.
Students of all ages, although the primary focus will be on ages 5-15 where the interactive animated characters will be most appealing. This is one of the core competitive advantages.
_General Technical Requirements_
The application will be developed using [url removed, login to view] and SQL Server 2005 on our servers and databases. The credentials will be supplied before development commences. The animated characters will be provided using [url removed, login to view]'s API.
We have other sites that employ these animated characters and we can assist with this technology.
* All pages (apart from actual exams in progress) will display integrated Google advertising
* All input boxes will contain all standard format checking and error handling
* Graphic templates for the website are currently in development and will be provided to the developers.
* All pages, links, buttons, grids, headers, emails and any other material generated must conform to the designated colors, backgrounds, fonts and theme.
* The sections below are broken into logical areas and webpages flowing from those areas. However the application may require more pages to display the information logically.
** 1) Know-itall Home/landing area**
* The home page should describe the concept for both students and examiners and encourage them to register for free.*
* Facebook integration, recent Facebook posts from the ***know-itall*** facebook page will be integrated with the homepage
* login area for all users
* include password recovery routine
_Exam Search Page_
* Need to be able to perform keyword searches for current (non-expired) exams by topics, schools, owners/creators, grade/education level, estimated completion time , exam release date and course name, qualification, private/public exam (see section 3) or any combination of the above. The results should also be sortable/filterable by these criteria in addition to the total number of times the exams have been taken by other students.
* Display exam ratings, pass rates, incorrect question flag percentages to help students determine whether they want to take that particular exam and link to high scores page (see high scores page below)
* We will ask for full name, email, password, DOB, country, level of education, current school/class/teacher, university, interests, Facebook link etc, position, business name (if representing a training organisation),
* allow users to upload a personal photo and/or an image representing their business (if they have one)
* allow content creators to add blurb about their training organisation or qualifications
* There will be a user agreement to affect that they take responsibility for the ownership of any content they are uploading and that they have the permission from any intellectual property owners. The coder may substitute some temporary text for the time being.
* we will use **CAPTCHA** security to avoid robots from registering
* we will require email verification
**2) User home area**
*Each user has a home page where they can review their courses, achievements, profile etc*
* The users home page should have links to
- examination activity (exams they have purchased/sat)
- exam creation activity (exams they have created)
* Users should be able to alter/edit all of their details including contact details, password, email address, age and current level of education
* login using email/password
* a published version (C.V) of each users home page should be available to anonymous viewers who want to determine which exams have been passed (potential employers, parents, teachers, classmates etc). The URL should take the form [url removed, login to view]
* if the user is a content creator then the published home page should also display a list of published exams and a blurb about their training organisation or qualifications
* users should be able to add/edit/update all of their personal information except their name and DOB
* see exams they have recently attempted
* see results from recent exams
* universities, schools and tertiary organisations can upload graphics etc that will appear on their exams introduction page
* list of exams they have been invited to take and their expiry dates (if any). There should be a countdown (time left until exam expiry)
* option to publish the users details so that students can critique the examiners credentials
* Each user should be able to select which achievements/exams they want published
_Exam owners summary page_
* total number of unique users who have sat their exams
* list of exams created with dates created, pass rates and links to the individual exam review pages and their high score pages
_Exam owners profile page_
* need to be able to view a published version of this linked from individual exams
* each user has a public profile that only shows achievements
_Students Achievement summary_
* Users can elect to make this page public so that others (teachers/parents/managers etc) can verify their success. This page should be available directly via a logical URL e.g. [[url removed, login to view]]
* display a list of the certificates achieved
* Members will be able to automatically generate a certificate from a standard Know-itall template with the relevant information regarding their exam (title, accuracy, rank, exam designer, information about the exam) overlayed. Exam takers will be able to create an email to their registered address with the dynamically generated printable PDF document attached.
* Certificates will also display the percentage of Know-itall members beaten by this member. E.g. "Higher than 92% of other people who took this exam"
* certificates should include the time and date of the achievement
* All exams taken should be listed. There should be a link from there to each individual exam's home page
* User home page should have a 'Hall' where all of the miniature ribbons, certificates, trophies of achievement will 'hang'.
* Exam scores should be able to automatically include things like
* - this is the highest score by a 10 year old in this exam today
* - this is the best result by an Australian taking this exam for the first time ever.
* User should have overall assessments of effort (total hours spent on Know-itall, total questions answered, total % correct)
* Overall assessment data will be useful for parents/teachers to see how hard they are working
* Overall assessment data needs to be available/filtered for the day/week/year and all time
_Site-wide 'High Scores' page for each exam_
* each exam will have an associated published 'High Scores' page so that anonymous users can view it
* The high scores will be sortable by score, date, age and filtered by age, date, location
* e.g. you should be able to see the highest score in the last week by a 10 year old in QLD
* display average number of attempts per student, time taken, age
_Exam Marking Area (for content creators)_ -
*This is where Teachers mark exams that require manual marking*
* Exams and questions that have been set to manual marking can be marked here
* Examiners/content creators may view the answers to any exams that any of their students have taken
* display IP address/geographical location recorded during the students examination
* if you invite people to take your exam then you must be able to see all of their results on the same page
* Exams will be marked 'blind' so that the students name/details will not be revealed to the marker until marking is complete for all students
* Automatic score may still be suggested based on keywords provided during exam creation
* students receive emails when an exam has been marked asking them to come back to the site and receive their score on their home page.
_Individual Exam Review area_ (this is where Teachers can monitor individual exams that they own, students' performance, incorrect questions, exam performance)
* Creators may return to edit their unpublished exams at any time.*
* Each exam has its own review page where individual answers can be reviewed for accuracy
* Allow creators to delete flags that have been raised for inaccuracies.
* creators need to justify why they have deleted the flag and an email will be generated to the student who raised it. This will include the reason the flag has been cleared
* only a creator or administrator may edit the exam
* This is where exams flagged as inaccurate will appear
* Published exams can only be altered if nobody has completed it yet
* Offer an option to copy all the questions to a new exam (e.g. version 2) and fix the incorrect one before republishing
* offer the option to withdraw the exam from publication (scores and exams recorded against it will be unaffected)
* only the creator can edit the exam. Any changes made must be released as a new exam (with distinct name or version)
* Display the number of times each question has been asked and the right/wrong % for each answer as users walk through/edit each question. This will allow exam creators to monitor any problems with accuracy etc.
* Also show the amount of time taken for each question being currently displayed
* Display exam pass rates
* only the creator of an exam or an administrator is able to edit existing exams
* The exams should also display corresponding data regarding number of times their exams have been exams taken, number of exam sales, average scores, numbers of people accredited(passed), links to people who have passed/failed together with their scores and accuracy, ratings and rankings from each exam they have taken.
* best/highest result
* average time per exam
* average score per exam
* average age of exam taker
* analysis of mean score, median score, highest score, lowest score (optional filter by date, attempt number)
* average number of times exam taken by each individual
* total number of examinations taken
* creation date
* copy questions into new exam functionality
* last date exam taken
* edit dates that exam will be available
* link to high scores area for the exam
**3) Exam creation area**
* Allow each content page/question/answer to be associated with an image to be uploaded
* any member of the site are able to create and edit their own exams.
* allow unlimited questions per exam.
* available exam dates may be optionally set by the content owner.
* exam creators will specify multi choice questions and answers (unlimited numbers)
* allow content creators to describe their exam (500 chars max), select appropriate user levels etc (primary, pre-school, university), appropriate age range and genre.
* examiners will also be able to write the script that will appear on students certificates/awards
* Exams may be private or public. Some organisations may not want to expose their Intellectual property to the web. Private exams will require a password.
* Exam creators will set a pass level (e.g. 80%) at which point a certificate will be awarded (emailed to the user).
* Creators may set and optional expiry date, after which the exam will no longer be available to take.
* Once an exam has been 'released' by its creator, it will be searchable and be available through its own home page
* statistics pertaining to the exam should be available from this page.
* help content creators market their exams... post to facebook?
* users can set one correct answer in multiple choice questions and unlimited incorrect answers
* developers may set multi-choice, essay or diagram answers for each question
* developers may choose to set marking to automatic or manual
* Allow free-text or essay-type answers. Creators may select either to have these marked automatically or flagged for content owners/teachers to grade themselves.
* Allow creators to set the number of points available for each essay answer (although the default number of points will be one point per keyword.
* Each keyword/key phrase that matches those set by the creator will earn the appropriate fraction of points available. If the student achieves 100% of the keyword requirements then they receive 100% of the points available for that question. Scores will be rounded to the nearest point for each question.
* Plagiarization search: Simple HTTP search of the internet (google screenscrape?) to see if the each answer has been copied and pasted from somewhere else. Any hits can be reported (together with the link) to the exam owner via email. This search can be turned on or off at exam level by the creator.
* Each incorrect multi-choice answer can optionally have a statement for why it is incorrect.
* If an animated character is selected for this exam, The incorrect reason will be delivered on-screen and via the animated character if one is chosen by the creator.
* multi-choice answers will have a minimum of 2 answers (one correct and one incorrect)
* content creator may opt to have emails delivered if a user flags their content as incorrect (option per exam not per question - i.e at exam level)
* creator needs to set suggested study level from a drop down box (university, grade one)
* provide fields for optional feedback comments depending on score at the end of an exam (e.g. 100% effort may provide different feedback comment to a 50% effort). The optional feedback will have default comments that can be edited by the creator
* Creators may optionally provide up 10 different Feedback comments across 10 different percentile ranges appropriate to the percentage score that any student might receive
* creators may opt to use (or edit) standard feedback comments (e.g. "great effort Dave")
* may have time limits on exams
* each question may have a time limit
* creators may set the time limits in precise minutes and seconds
* exams may be limited to geographical area/age/university/school
* exams may be restricted to a time period (exam period) from any date/time to any other date/time in the future
* exams may be private (password protected)
* assignment of optional animated character to deliver questions and feedback (the examiner determines the character and the character's name, the student has the option to turn it off)
* add name of qualification "E.G certificate of achievement from XYZ"
* creator may select a trophy/ribbon/certificate for those who pass the exam.
* creator may add extra criteria for awards "top scorer on a certain date will be awarded...."
* default option to deliver questions and content in random order may be changed (default is to deliver them in the order they are created)
* default option to deliver multi-choice answers in random order may be changed (default is to deliver them in the order they are created)
* each question should be saved to database before continuing to next question so that exams can be saved/completed/edited later on
* if creators want auto-answering for essay answers, they need to type a list of keywords that will be used to automatically score the exam
* need to be able to automatically invite students via email to take the exam (with optional password)
* Exam can be optionally added to a collection of exams that make up a module/course/certificate (group of exams)
* optionally set number of times each exam may be taken by a particular user (e.g. 1 to unlimited, default to unlimited)
* Exams can include learning/teaching sections as well as the questions
* optionally select an Avatar/animated character for the exam (this may be disabled by the user)
* allow users to upload images/graphics to support their questions or exam content pages
* creators may set incorrect multi choice answers to include a random number between set ranges (e.g. random number between 1400-1600)
* creators may re-order questions and content pages in the review area.
* Each exam must be associated with an area or academic discipline (e.g. maths, science, economics, history) and then a sub-discipline (e.g. times tables, algebra, calculus). (Lists of academic disciplines will be provided to the software developer)
* allow owners to publish exam when finished
* creators may review any question and view summary section before publishing the exam
* creators may do a test run of the exam before publishing (as though they were taking a published exam)
* creators/examiners need to be made aware that the business (Know-itall) now owns this intellectual property and may sell, distribute or market it in any way. They will need to agree to a legal statement before their exam is published stating that the material is their own work.
**4) Examination area (where examinations take place)**
* each exam should be prefaced with a welcome/home/landing page that explains
- what its about (exam description)
- name of the module or course that the exam is part of (unless it's a standalone exam)
- who created it
- requirements for certification (attempts, speed, percentage correct etc)
- expected length of exam
- number of questions (and type of question breakdown)
- requirements for passing
- ensure that the user agrees to the requirements before starting exam
- ensure user has not exceeded maximum number of attempts at this exam
- Display previous number of attempts, dates of attempts and previous scores
- option to turn off animated character
- each examination home page should be indexible by Google search engines and the content (but not the questions/answers themselves) should be searchable in Google.
* timed exams if required (counting down from the maximum time allowed) otherwise counting up from zero
* timed questions (counting down from the maximum time allowed) otherwise counting up from zero
* automatic real-time answering of multi choice and essay answers
* if an animated character is assigned to the exam and it hasn't been disabled by the student then it must greet them by their first name in the format "Hello Rob, welcome to the XYZ exam, I am Dr ABC"
* feedback text (talking from characters for those who want it)
* Animated characters
* user must be logged in to be able to access exam
* some exams require passwords
* need to store IP address/geographical location of examination event
* need to store time taken for each question and for total exam
* Exams will be free of advertising
* Exam will only be available if it is within time/date constraints set by the creator
* option to have animated character turned on/off (unless it has been specifically disabled by the creator)
* disable copy/paste of text and/or images
* disable printing where possible
* disable returning to previous screen via the browser controls
* ensure that an option is selected before continuing to next question (if multi-choice)
* popup check that an answer has been written for essay answer before continuing
* option to rate every question or learning page (not question/answer pages)
* option to flag question or content or answer as correct or incorrect
* Multi-choice answers should be presented in random order
* if answer is incorrect, reason should be shown why the answer is wrong (if set by content creator) and delivered by text and voice/animated character
* avatars will deliver a random responses to correct or incorrect answers. These will also have default values but can be changed by the creator for the individual exam.
* score should be shown at the end unless it has been set for manual marking
* score should be displayed during exam in percentage and raw format
* need to be able to flag question/answer/info as incorrect. Emails may optionally be generated to the content creator/exam owner
* generate HTTP request to hit a subpage of [[url removed, login to view]] that includes details of the achievement so that children can be awarded points
* questions will be instantly marked before going onto the next question so that they know where they went wrong
* user cannot go 'back' to the content whilst answering questions
* students will be provided a continuous score (percentage and raw scores) as they answer questions
* avatars (where selected) will ask the questions audibly and provide audible feedback for right or wrong answers
** 5) Administration Area**
*Site administrators have special privileges over some site-wide settings. There is only ever one custodian who may set/remove an unlimited number of accounts to be administrators.*
* generate reports regarding flags raised about incorrect information/wrong answers
* stats on questions answered incorrectly
* report total numbers of users who have logged in (filterable for day/week/month/all time) (custodian only)
* report total number of members (filterable for day/week/month/all time) (custodian only)
* the custodian may add/edit/delete other administrators accounts
* custodian may add/remove custodian priviliges to another account (using username)
* custodians may add/remove admin priviliges to other accounts
* custodian may generate a site wide email to all users and/or content creators and/or filtered by specific disciplines
* Admins may edit/update/add to lists of academic disciplines used in Section 3 above